sql server里
CREATE PROCEDURE SalesByCategory
AS
SELECT RegionID,RegionDescription FROM Region
GO
-------
SqlConnection nwindConn = new SqlConnection(myConnString);
SqlCommand salesCMD = new SqlCommand("SalesByCategory", nwindConn);
salesCMD.CommandType = CommandType.StoredProcedure;
nwindConn.Open();
SqlDataReader myReader = salesCMD.ExecuteReader();
Console.WriteLine("{0}, {1}", myReader.GetInt32(0), myReader.GetName(1));
while (myReader.Read())
{
Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1));
}------
错误信息
System.InvalidOperationException: 在没有任何数据时进行无效的读取尝试。
at System.Data.SqlClient.SqlDataReader.PrepareSQLRecord(Int32 i)
CREATE PROCEDURE SalesByCategory
AS
SELECT RegionID,RegionDescription FROM Region
GO
-------
SqlConnection nwindConn = new SqlConnection(myConnString);
SqlCommand salesCMD = new SqlCommand("SalesByCategory", nwindConn);
salesCMD.CommandType = CommandType.StoredProcedure;
nwindConn.Open();
SqlDataReader myReader = salesCMD.ExecuteReader();
Console.WriteLine("{0}, {1}", myReader.GetInt32(0), myReader.GetName(1));
while (myReader.Read())
{
Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1));
}------
错误信息
System.InvalidOperationException: 在没有任何数据时进行无效的读取尝试。
at System.Data.SqlClient.SqlDataReader.PrepareSQLRecord(Int32 i)
解决方案 »
- 调用SerialPort的DataReceive函数的问题
- GridView绑定linq之后,怎么新增一行
- 关于C#编写读心术的问题
- 分别查询两个不同的表,将其查询结果一个数据读进textbox1,另一个数据读进combobox1中,请问如何实现,谢谢!在线等!
- 状态模式的问题
- 高分提问!!!!!!!! 水晶报表打印Oracle中照片问题。
- 关于接口(高手请进)
- 两个 from 如何同时使用一个class?
- msn类似的通信工具,如何跨局域网通信? 有什么方案 ?ftp 如何断点续传 ?
- 公司给了2个礼拜独立完成一个项目
- C#中用到FTP协议编程,从服务器上读取和上传文件...有没有相关的类?
- 关于存储过程的一个简单问题
SqlCommand salesCMD = new SqlCommand("SalesByCategory", nwindConn);
salesCMD.CommandType = CommandType.StoredProcedure;
nwindConn.Open();
SqlDataReader myReader = salesCMD.ExecuteReader(); //改为salesCMD.ExecuteNoneQuery();
Console.WriteLine("{0}, {1}", myReader.GetInt32(0), myReader.GetName(1));
while (myReader.Read())
{
Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1));
}
ExcuteScalar方法:放回单个值,比如平均值、最大值等SQL语句的函数。
ExcuteNonQuery方法:执行不需要返回结果的命令,如插入、删除等操作。
用ExcuteReader方法,返回一个DataReader对象..为什么不对?非要改成 ExcuteNonQuery