winform连接数据库
1. Winform连接远程数据库
远程连接有点复杂,首先要保证客户端与sql服务器连接
步骤:
一 看ping 服务器ip能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查 看配
置,当然得确保远程sql server 2000服务器的IP拼写正确。
二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202.114.100.100 1433
通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这
一步会出问题。通常的提示是“……无法打开连接,连接 失败"。
如果这一步有问题,应该检查以下选项。
1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协检查方法是,在服
务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里
是否有tcp/ip协议,如果没有,则启用它。
3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的
tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框 没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须
与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾 选,则意味着客户端无法通过枚
举服务器来看到这台服务器,起到了保护的作用, 但不影响连接,但是Tcp/ip协议的默认端口将被
隐式修改为2433,在客户端连接 时必须作相应的改变。
4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,
通常在测试时可以直接关掉windows防火墙(其他的防火墙也 关掉最好)。
5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检
查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 1433 listening
的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分
析器,输入 select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一 闪之后光标在左上
角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析 器连接了。
三 检查客户端设置
程序->Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客 户端
tcp/ip协议启用,并且默认端口为1433(或其他端口,与服 务器端保持一致就行)。
四 在企业管理器里或查询那分析器连接测试
企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP-> 下一步->选Sqlserver登陆-
>下一步->写入登陆名与密码(sa,password)->下一 步->下一步->完成 查询分析器->文件->连接->写
入远程IP->写入登录名和密码(sa,password)->确 定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置
是4秒,而查询分析器是15秒。
修改默认连接超时的方法:
企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设
置->在登录超时(秒) 后面的框里输入一个较大的数字
查询分析器->工具->选项->连接->在登录超时(秒) 后面的框里输入一个较大的数 字
通常就可以连通了,如果提示错误,则进入下一步。
五 错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因 此用户无法使 用
SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:
1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。
2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。
3 在"身份验证"下,选择"SQL Server和 Windows "。
4 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务, net start mssqlserver启
动服务,也是一种快捷的方法)。
附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的
协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全
不同的协议)
//如果是在远程连接sql2000,采用下面连接字符串
// string source = "database=Northwind;Server=192.168.1.181,1433;User ID=sa;Password=sa;Persist Security Info=True";
2. winform不能访问sql数据库
你好,你是想问winform不能访问sql数据库是怎么回事吗?winform不能访问sql数据库是因为你的网络出现故障,导致winform无法对sql数据库进行正常的远程连接,所以才会出现winform不能访问sql数据库的情况。你只要更换一个正常的网络,将winform与sql数据库进行远程连接,这样就可以正常访问sql数据库了。
3. c# winform与数据库的连接
在定义一个静态的DBHelper类用于数据库连接,
时直接类名点对象名就可以了。
public
static
string
connString="Data
Sourse=.;Initial
CataLog=数据库名;User
Id=数据库登陆名;
Pwd=数据库登陆密码";
public
static
SqlConnection
=new
SqlConnection(connString);
4. 怎么用VS的C#Winform连接sql数据库
C#
连接数据库的方式
WinForm和WebForm是一样的
conn=new SqlConnection("server=数据库服务器地址;database=数据库名称;uid=sa;pwd=密码;");//添加、修改、删除 更换sql即可string sql="insert into tablename(字段1,字段2)values(值1,值2)";SqlCommand cmd=new SqlCommand(sql,conn);conn.Open();cmd.ExecuteNonQuery();conn.Close();//查询sql="select * from tablename";SqlDataAdapter da=new SqlDataAdapter(sql,conn);DataTable dt=new DataTable();conn.Open();da.Fill(dt);conn.Close();
5. winform如何连接数据库
如需连接到本地SQL,请确保SQL服务正常启动,然后执行如下代码:
string con, sql;
/*Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。
你可以使用SQL SERVER的用户名和密码进行登录,如:
"Server=.;Database=YouDBName;User ID=sa;Password=密码"
*/
con = "Server=.;Database=YouDBName;Integrated Security=SSPI";
sql = "select * from Test";
SqlConnection mycon = new SqlConnection(con);
mycon.Open();
SqlDataAdapter myda = new SqlDataAdapter(sql, con);
DataSet myds = new DataSet();
myda.Fill(myds, "Test");
dataGridView1.DataSource = myds.Tables["Test"];
6. Winform预防网络问题连不上数据库程序崩溃
判断是否可以连接的数据库连接字符串设置timeout时间,设成个5秒或10秒。
什么原因导致winform程序崩溃?
1、如果WinForm程序中使用了线程,而线程调用的代码中会抛出异常,该异常没有任何Try块处理。就会导致程序从主线程中跳出,导致WinForm程序突然崩溃性关闭。
2、还有就是程序读写某些外部资源,比如数据库、串口、并口、网络等。当这些资源发生堵塞或者出现问题,有可能会导致WinForm程序长时间处于等待状态,程序就会类似于死机现象。
3、写程序的时候,程序出现逻辑错误,导致死循环,或者线程死锁。如果该程序是在主线程中,就会导致WinForm程序死机。
当然这些是较为常见的崩溃性问题,如果时间充足其实可以写出很多。在这里就不一一列出了。
7. C#winform远程连接sql数据库
c#
连接数据库的方式
winform和webform是一样的
sqlconnection conn=new sqlconnection("server=数据库服务器地址;database=数据库名称;uid=sa;pwd=密码;");
//添加、修改、删除 更换sql即可
string sql="insert into tablename(字段1,字段2)values(值1,值2)";
sqlcommand cmd=new sqlcommand(sql,conn);
conn.open();
cmd.executenonquery();
conn.close();
//查询
sql="select * from tablename";
sqldataadapter da=new sqldataadapter(sql,conn);
datatable dt=new datatable();
conn.open();
da.fill(dt);
conn.close();
8. C#winform程序连接ACCESS数据库字符串.
1.采用独占方式进行连接:
"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\App1\你的数据库名.mdb; Exclusive=1; Uid=你的用户名; Pwd=你的密码;"
MS ACCESS OLEDB & OleDbConnection (.NET下的OleDb接口)进行链接
2.普通方式(最常用)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; User Id=admin; Password="
3.使用工作组方式(系统数据库)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\你的系统数据库名.mdw"
4.连接到带有密码的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:Database Password=你的密码"
5.连接到处于局域网主机上的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\你的数据库名.mdb"
6.连接到处于远程服务器上的ACCESS数据库:
"Provider=MS Remote; Remote Server=http://远程服务器IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb"
MS ACCESS ODBC开放式接口连接字符串
7.标准链接:
"Driver= {MicrosoftAccessDriver(*.mdb)};DBQ=C:\App1\你的数据库名.mdb;Uid=你的用户名;Pwd=你的密码;"
如果ACCESS数据库未设置用户名和密码,请留空。下同。
8.WorkGroup方式(工作组方式)连接:
"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\你的数据库名.mdb; SystemDB=C:\App1\你的数据库名.mdw;"
9.采用独占方式进行连接:
"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\App1\你的数据库名.mdb; Exclusive=1; Uid=你的用户名; Pwd=你的密码;"
MS ACCESS OLEDB & OleDbConnection (.NET下的OleDb接口)进行链接
10.普通方式(最常用)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; User Id=admin; Password="
11.使用工作组方式(系统数据库)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\你的系统数据库名.mdw"
12.连接到带有密码的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:Database Password=你的密码"
13.连接到处于局域网主机上的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\你的数据库名.mdb"
14.连接到处于远程服务器上的ACCESS数据库:
"Provider=MS Remote; Remote Server=http://远程服务器IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb"
9. winform如何用代码连接sqlite数据库
最简单的一种就是
string connectionString = "Data Source= D://test.db " ;
或者是:
<addname="sqlite"connectionString="DataSource=|DataDirectory|db;Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite"/>
其中 |DataDirectory|,这个是内置的.net目录,可以替代运行时刻的当前目录
使用例子:
using(DbConnectionconn=newSQLiteConnection(
System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString))
{
conn.Open();
DbCommandcomm=conn.CreateCommand();
comm.CommandText="select*fromcustomer";
comm.CommandType=CommandType.Text;
using(IDataReaderreader=comm.ExecuteReader())
{
while(reader.Read())
{
Response.Write(reader[0]);
}
}
}
或者是:
stringconnectionString="DataSource="+AppDomain.CurrentDomain.BaseDirectory+"Data;Password=XXX";
基本连接Sqlite数据库:
Data Source=mydb.db;Version=3;
--"Version" 的可能值: "2″ 指 SQLite 2.x (default);"3″ 指 SQLite 3.x
连接同时创建一个新的Sqlite数据库:
Data Source=mydb.db;Version=3;New=True;
启用压缩连接Sqlite数据库:
Data Source=mydb.db;Version=3;Compress=True;
指定连接Sqlite数据库的缓存大小:
Data Source=mydb.db;Version=3;Cache Size=3000;
参考:
http://www.cnblogs.com/zhangji/archive/2013/03/04/2942736.html