SqlDataReader用法问题
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["Conn...
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); String selectStr = "select * from student where studentID = '" + Session["userName"].ToString() + "'"; conn.Open(); //打开连接 SqlCommand cmd = new SqlCommand(selectStr, conn); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read()) { StudentId.Text = sdr.GetString(0); String pwd=sdr.GetString(1); StudentName.Text = sdr.GetString(2); string sex = sdr.GetString(3); ClassId.Text = sdr.GetString(4); Motto.Text = sdr.GetString(5); Birthday.Text = sdr.GetString(6); Telephone.Text = sdr.GetString(7); IN_school.Text = sdr.GetString(8); Address.Text = sdr.GetString(9); QQId.Text = sdr.GetString(10); }我现在想问的是如果数据库存储某一项的数据为空时(比如sdr.GetString(10)这项在数据库中的值为空时)编译会报错 怎么修改 ,实际中不可能每个人的资料都齐全。比如 有些人的还没手机号
展开
4个回答
展开全部
两种方法嘛
第一种:
if(sdr.GetString(10) !=null)
{
//当不为空时做些事,
}
else {
//为空时做的事
}
----------------------------
第二种:
try{
....................
aaa= sdr.GetString(10);
.....................
}
catch(Exception ex)
{
throw new Exception("某字段为空")
}
第一种:
if(sdr.GetString(10) !=null)
{
//当不为空时做些事,
}
else {
//为空时做的事
}
----------------------------
第二种:
try{
....................
aaa= sdr.GetString(10);
.....................
}
catch(Exception ex)
{
throw new Exception("某字段为空")
}
参考资料: .............
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以试着使用SqlDataReader 的getname方法根据列的序号获取列名返回string类型的列名称,在判断是否存在,getname(从0开始)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-29
展开全部
if 改成 while看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看下你数据库的表 是否能为空 类型设为varchar
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询