环境是.net和C# ,想从数据库读取一个值作为radiobuttonlist的默认值,但提示未将对象引用设置到对象的实
源代码为:stringsql="selectTitle,Author,CreateDate,CategoryName,Listed,Body,ArticleType,Re...
源代码为:
string sql = "select Title,Author,CreateDate,CategoryName,Listed,Body,ArticleType,Recommend from Articles where ArticleID = '" + ArticleID + "'";
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
rdr.Read();
String i =rdr[4].ToString();
Label1.Text = i;
Listed.Items.FindByValue("禁止").Selected = true;
此时lable1中显示为“禁止”而且radiobuttonlist中默认选现象为禁止,但我将最后一句改为Listed.Items.FindByValue(i).Selected = true,却提示“未将对象引用设置到对象的实例 ”,我按照此思路可以设定Dropdownlist的默认值,为什么这个不行啊,有哪位高人可以指导一下解决办法,万分感谢!! 展开
string sql = "select Title,Author,CreateDate,CategoryName,Listed,Body,ArticleType,Recommend from Articles where ArticleID = '" + ArticleID + "'";
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
rdr.Read();
String i =rdr[4].ToString();
Label1.Text = i;
Listed.Items.FindByValue("禁止").Selected = true;
此时lable1中显示为“禁止”而且radiobuttonlist中默认选现象为禁止,但我将最后一句改为Listed.Items.FindByValue(i).Selected = true,却提示“未将对象引用设置到对象的实例 ”,我按照此思路可以设定Dropdownlist的默认值,为什么这个不行啊,有哪位高人可以指导一下解决办法,万分感谢!! 展开
3个回答
展开全部
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader rdr = cmd.ExecuteReader();
List<string> str=new List<string>();
while(rdr.Read())
{
str.Add(rdr.GetValue(0).Tostring()); //0表示读出表的第一列,1表示第二列
}
String i =str[4];
Label1.Text = i;
Listed.Items.FindByValue(i).Selected = true;
注意:rdr.Read() 方法的返回值是布尔类型,一行一行的读取,直到读完最后一行返回false
SqlDataReader rdr = cmd.ExecuteReader();
List<string> str=new List<string>();
while(rdr.Read())
{
str.Add(rdr.GetValue(0).Tostring()); //0表示读出表的第一列,1表示第二列
}
String i =str[4];
Label1.Text = i;
Listed.Items.FindByValue(i).Selected = true;
注意:rdr.Read() 方法的返回值是布尔类型,一行一行的读取,直到读完最后一行返回false
追问
请问可以具体说明我应该怎样改才能完成我的目的吗?我的rdr[4]是可以使用的,比如我曾输入代码lable1.text +=rdr[4];前台lable输出为"禁止"。当我输入Listed.Items.FindByValue(rdr[4].ToString()).Selected = true;却提示“未将对象引用设置到对象的实例”,如能解答万分感谢!!
展开全部
“未将对象引用设置到对象的实例”是针对这句的吧:
String i =rdr[4].ToString();
你确定大小写没写错?string 还是 String?
String i =rdr[4].ToString();
你确定大小写没写错?string 还是 String?
追问
提示错误针对的是这一句:Listed.Items.FindByValue(i).Selected = true;
如果i等于的是rdr[4].ToString或者括号里直接写rdr[4].ToString就提示错误,运行时代码没有敲错,因为同样的代码去设定DropDownlist的默认值是可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i 不是个具体的值
追问
如果 String i ="禁止";
Listed.Items.FindByValue(i).Selected = true;
仍然可以正常显示。所以不是i的问题啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询