当前位置:编程学习 > C#/ASP.NET >>

在位置 0 处没有任何行 (C# 求高手)

SqlConnection sqlct = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Data\StoreMIS.mdf;Integrated Security=True;User Instance=True");
            sqlct.Open();
            DataSet ds = new DataSet();
            SqlDataAdapter adp = new SqlDataAdapter("",sqlct);
            string sql = "select * from materialinfo where MID = ' " + comMID.Text.Trim() + " ' ";
            adp.SelectCommand.CommandText = sql;
            adp.Fill(ds);
            this.textName.Text = ds.Tables[0].Rows[0][1].ToString().Trim();//在位置 0 处没有任何行?
            this.textModel.Text = ds.Tables[0].Rows[0][2].ToString().Trim();
            this.textType.Text = ds.Tables[0].Rows[0][3].ToString().Trim();
            this.textUnit.Text = ds.Tables[0].Rows[0][4].ToString().Trim();

求高手 这是个什么问题导致的啊 以前没碰到过啊 谢谢啦 --------------------编程问答-------------------- 明显没有取到数据吗! --------------------编程问答-------------------- 明显没有取到任何数据

string sql = "select * from materialinfo where MID = ' " + comMID.Text.Trim() + " ' ";

where MID = ' XXX ',不管MID是数值还是字符串,你这样写肯定都取不到要的东西的,要么多了引号,要么多了空格 --------------------编程问答-------------------- 你的sql没有查出来数据 --------------------编程问答-------------------- if(ds.Tables[0].Rows.Count>0)
{
  //执行赋值
} --------------------编程问答-------------------- 你的MID是int类型吧, comMID.Text.Trim() 是string类型  ,类型不匹配吧。 --------------------编程问答--------------------
引用 1 楼 service490229980 的回复:
明显没有取到数据吗!

试过了 没有错啊 怎么就取不到数据呢?求高手 --------------------编程问答-------------------- lz,你調試到row:adp.Fill(ds);
這一行後看看ds有數據沒有嘛,之後最好加上是否有數據的判斷,防止異常發生
if(ds !=null && ds.Tables[0].rows.Count > 0)
{
   ...
} --------------------编程问答-------------------- where MID = '空格" + comMID.Text.Trim() + "空格' "
---------------

1.参数化,不要拼SQL字符串...

2.就算要拼,用string.Format不要乱用+...

3.不要相信自己的眼睛... --------------------编程问答-------------------- --------------------编程问答--------------------
引用 8 楼 vrhero 的回复:
where MID = '空格" + comMID.Text.Trim() + "空格' "
---------------

把那两个空格去掉 --------------------编程问答-------------------- sql语句没有查询到任何数据 --------------------编程问答-------------------- 查看一下,连接数据库和读表数据的地方,在查询分析器中查一下有值的ID号,调试一下。 --------------------编程问答-------------------- 根据错误提示判断问题所在是合格程序员的基本能力 --------------------编程问答-------------------- 比较喜欢那种发生空引用异常(包含错误发生时调用堆栈), 还不知道问题的'程序员'了, 脑袋崭新的, 都没有开发过.
--------------------编程问答-------------------- 有空格啊有空格 有空格啊有空格 有空格啊有空格 --------------------编程问答-------------------- 插个断点看ds是否有数据 --------------------编程问答-------------------- 明显没有取到数据 --------------------编程问答-------------------- 7楼正解!我也有类似的问题,按照你的方法,问题就解决了,太好了! --------------------编程问答-------------------- 11年的贴又挖出来了 --------------------编程问答-------------------- if(ds.Tables[0].Rows.Count>0)
{
   ...
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,