帮我看看使用 SqlDataReader 时的错误 谢谢了!!!
我的代码:
string strComm="select * from zgzl";
SqlConnection myConn =new SqlConnection(CGlobal.g_strCon) ;
SqlCommand myComm = new SqlCommand(strComm,myConn);
myConn.Open();
System.Data.SqlClient.SqlDataReader myReader = myComm.ExecuteReader();
if(myReader.Read())
{
strname=myReader.GetString(0);
strpwd=myReader.GetString(15);
}
myReader.Close();
myComm.Connection.Close();
我用的数据库是ms sql 数据库连接是成功的
当程序执行到:
System.Data.SqlClient.SqlDataReader myReader = myComm.ExecuteReader();
时报错:
//*********
未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。
其他信息: 系统错误。
//********************
请问 这是什么原因?
谢谢了!!!
问题点数:100、回复次数:8Top
1 楼lingyunfeipu(凌云)回复于 2003-08-02 14:29:33 得分 0
对了我用的是2003
Top
2 楼saucer(思归)回复于 2003-08-02 14:32:36 得分 0
any additional detailed error? do you have the table "zgzl" in your database?Top
3 楼TheAres(班门斧)回复于 2003-08-02 14:34:36 得分 50
看不出什么错误来,你自己这样调试一下,看看会报什么错误。
string strComm="select * from zgzl";
SqlConnection myConn =new SqlConnection(CGlobal.g_strCon) ;
SqlCommand myComm = new SqlCommand(strComm,myConn);
try
{
myConn.Open();
System.Data.SqlClient.SqlDataReader myReader = myComm.ExecuteReader();
if(myReader.Read())
{
strname=myReader.GetString(0);
strpwd=myReader.GetString(15);
}
}
catch( Exception ex)
{
MessageBox.Show( ex.Message );
}
finally
{
myReader.Close();
myComm.Connection.Close();
}Top
4 楼panyee(快乐王子)回复于 2003-08-02 14:36:10 得分 0
要检查一下数据库连接是否正常, 及数据库中是否有那张表Top
5 楼dahuzizyd(你就是我心中的女神)回复于 2003-08-02 14:39:55 得分 20
这种提示一般都是sql语句的问题,你在sql server里检查下这条语句。Top
6 楼WantGoWorld(碧海蓝天)回复于 2003-08-02 14:50:42 得分 30
楼上的解决方案都是很不错的:
你可以首先在查询分析器中:执行一把:select * from zgzl看是否正确
再者:捕捉异常信息,根据提示找出原因,我们一般都把与数据库的连接放在try块内。Top
7 楼lingyunfeipu(凌云)回复于 2003-08-02 15:09:40 得分 0
谢谢!
是我把表名写错了
Top




