读书人

datareader 有关问题!

发布时间: 2012-02-13 17:20:26 作者: rapoo

datareader 问题!!
SqlConnection dataConnection = new SqlConnection();
try
{
dataConnection.ConnectionString = "server=YJY3;database=xtreme;uid=sa;pwd=123456 ";
dataConnection.Open();
Console.Write( "请输入地区代码: ");
string Id = Console.ReadLine();
SqlCommand datacomand = new SqlCommand();
datacomand.Connection = dataConnection;
datacomand.CommandText =
"select 地区代码,地区描述,地区所属 " +
"from 地区元数据 " +
"where 地区代码 = ' " + Id + " ' ";
Console.WriteLine( "About to execute:{0}\n\n ", datacomand.CommandText);
SqlDataReader dataReader = datacomand.ExecuteReader();
while (dataReader.Read()) ###问题所在之处###
{
string aId = dataReader.GetString(0);
string country = dataReader.GetString(1);
string org = dataReader.GetString(2);
Console.WriteLine( "{0}\t{1}\t{2}\n ", aId, country, org);


}
dataReader.Close();
}
catch (Exception e)
{
Console.WriteLine( "Error accessing the database: " + e.Message);
}
finally
{
dataConnection.Close();
}

[解决办法]
from前面少了一个空格,这样试试:
datacomand.CommandText =
"select 地区代码,地区描述,地区所属 " +
" from 地区元数据 " +
" where 地区代码 = ' " + Id + " ' ";
另外ID是整型还是字符型?如果是整型的话两边不要加单引号。
[解决办法]
string aId = dataReader.GetString(0);=>

用这个试试没string aId = dataReader[ "地区代码 "].toString();
[解决办法]
你的查询字段和from之间要有空格
数字的加不加 ' '都没关系
[解决办法]
SqlDataReader dataReader = datacomand.ExecuteReader();
这句中的dataReader是不是null??

贴一下,e.message中的内容??!!
catch (Exception e)

读书人网 >C#

热点推荐