asp.net中SqlDataReader获取数据存在的问题解决方法
2007-03-21 09:36
1156 查看
asp.net开发中如果只是获取 数据进行显示,多数人喜欢使用SqlDataReader,只读,速度比较快。
但是当使用SqlDataReader时,如果取出的字段值为值会报错,如下面的代码写法:
[align=left]connection = newSqlConnection(ConfigurationManager.ConnectionStrings["dyj"].ConnectionString);[/align]
[align=left] connection.Open();[/align]
[align=left] SqlCommand command = newSqlCommand("select classid,hit from class ", connection);[/align]
[align=left] dr = command.ExecuteReader();[/align]
[align=left] while (dr.Read())[/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] Response.Write(dr.GetString(0) + " " + dr.GetInt32(1).ToString() + "<br/>");[/align]
[align=left] }[/align]
[align=left] connection.Close();[/align]
dr.Close();
当进行打印出数据时,如果某一个字段为空时会报错。
但是写为下面的方法,就没事了
代码如下:
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dyj"].ConnectionString))
{
conn.Open();
SqlCommand command = new SqlCommand("select classid,hit from class", conn);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Response.Write(reader[0] + " " + reader.GetSqlInt32(1).ToString() + "<br/>");
}
reader.Close();
}
注意:reader[0]和reader.GetSqlInt32(1).ToString()两种写法都可以显示空数据而不报错!
测试环境:vs2005
但是当使用SqlDataReader时,如果取出的字段值为值会报错,如下面的代码写法:
[align=left]connection = newSqlConnection(ConfigurationManager.ConnectionStrings["dyj"].ConnectionString);[/align]
[align=left] connection.Open();[/align]
[align=left] SqlCommand command = newSqlCommand("select classid,hit from class ", connection);[/align]
[align=left] dr = command.ExecuteReader();[/align]
[align=left] while (dr.Read())[/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] Response.Write(dr.GetString(0) + " " + dr.GetInt32(1).ToString() + "<br/>");[/align]
[align=left] }[/align]
[align=left] connection.Close();[/align]
dr.Close();
当进行打印出数据时,如果某一个字段为空时会报错。
但是写为下面的方法,就没事了
代码如下:
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dyj"].ConnectionString))
{
conn.Open();
SqlCommand command = new SqlCommand("select classid,hit from class", conn);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Response.Write(reader[0] + " " + reader.GetSqlInt32(1).ToString() + "<br/>");
}
reader.Close();
}
注意:reader[0]和reader.GetSqlInt32(1).ToString()两种写法都可以显示空数据而不报错!
测试环境:vs2005
相关文章推荐
- 当获取相似数据时,使用不同方法调用不同sp,但是使用同一个方法去用IIDataReader或者SqlDataReader读取数据时需要判断column name是否存在。
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- ASP.NET多个用户控件回车提交表单问题解决和获取用户控件上的ID方法
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
- asp.net无法获取iis目录的问题解决方法
- asp读sql数据时出现乱码问题的解决方法
- asp.net 用sqldatareader读取数据
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- asp读sql数据时出现乱码问题的解决方法
- 使用SqlDataReader应该注意的问题,使用datareader没有获取到分页的output值【来自Mist .NET blog】
- ASP.NET页面借助IFrame提交表单数据所遇到问题的解决方法分享
- asp.net无法获取iis目录的问题解决方法
- ASP.NET优化连载(三)只读数据访问用SqlDataReader,不要使用DataSet
- 用SqlDataReader显示数据(asp.net)
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- asp.net中SqlDataReader使用时关闭数据库连接的问题(转)
- 数据获取的两种方法:DataList和SqlDataReader
- asp.net webapi [FromBody]string 获取不到ajax post的数据的解决方法