c#中数据连接问题

SqlConnection connStr=new SqlConnection("Server=caty20;uid=sa;pwd=123456;database=goods");
SqlCommand cmd=new SqlCommand(sql,connstr);
if (cmd.Connection.State.ToString()=="Closed"){
cmd.Connection.Open();
}
运行以上代码出错信息为:
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll

Additional information: System error.
请问这是什么意思,要怎么解决?在线等
sql="select * from cping";

问题解决了,谢谢大家,原来是数据的访问被我限制了

1。server要保证在SQL Server Configuration Manager里的SQL Server 2005 Network Configuration里,确保TCP/IP的protocol是enable的。
2。client也要保证Native的TCP/IP protocol也enable。
3。当然要确保server的sql server服务已经开启。
4。server如果开了firewall,在exceptions里添加1433 port。

还有你那个判断连接是否已经打开那个最好这样写:
if (connStr.State == ConnectionState.Closed)
{
connStr.Open();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-13
SqlCommand cmd=new SqlCommand(sql,connstr); 你这个sql字符串跟哪呢

你上面那段代码没错。。。确定你"Server=caty20;uid=sa;pwd=123456;database=goods");
这都对么。。。下面是我写的测试下 没错。。

SqlConnection con=new SqlConnection("server=.;database=use;uid=sa;pwd=123456");
string sql="select * from iteminfo";
SqlCommand com=new SqlCommand(sql,con);

try
{
if(com.Connection.State.ToString()=="Closed")
{
com.Connection.Open();
this.Response.Write("aaaa");
}
else
{
this.Response.Write("bbbb");
}
}
finally
{
con.Close();
}
第2个回答  2008-06-13
SqlCommand cmd=new SqlCommand(sql,connstr); 这句话中的
connstr打错没,是不是connStr;

看这句话有错没,"Server=caty20;uid=sa;pwd=123456;database=goods"
密码,用户名,数据库名有没弄错,如果不确定的话,可以用系统带的控件生成这段看看
第3个回答  2008-06-14
System error系统错误。
检查数据库连接
第4个回答  2008-06-15
你先故意把sql语句写错比如写成“select * from cping where”
在下面的语句里加
try
{
cmd.Connection.Open();
....
}
catch(SqlException ex)
{
MessageBox.show(ex.Message);
}
如果程序运行到catch里面的“MessageBox.show(ex.Message);”
而且是相同的错误就是你的'System.Data.SqlClient.SqlException'
没有sqlexception 就是系统问题,如果它弹出对话筐“第 1 行: 'where' 附近有语法错误。”那就你的连接字符串的问题
相似回答
大家正在搜