首页 新闻 赞助 找找看

一个蛋疼的问题

0
悬赏园豆:5 [待解决问题]

 我发誓,我是都测试过了 还是不可以才提问的。

问题就是一个数据库查询问题:

 

窗体的。

节目有:  一个TextBox  和一个 查询按钮

 

点击查询 按钮   执行下面的代码:

View Code
 1 string chaxunstr = "select * from KC_table where KC_name='"+textBox5.Text.Trim().ToString()+"'";
 2             ClassSQL newsql = new ClassSQL();
 3             newsql.SQLopen();
 4             int reg=newsql.DBoperarion(chaxunstr);
 5 
 6             
 7            
 8            
 9             if (reg>0)
10             {
11                 MessageBox.Show("查到结果了!");
12                 SqlDataAdapter da = new SqlDataAdapter("select * from KC_table where KC_name='" + textBox5.Text.Trim().ToString() + "'", newsql.SQLcon);
13                 DataSet ds = new DataSet();
14                 da.Fill(ds, "new_table");
15                 dataGridView1.DataSource = ds.Tables[0];
16                 newsql.SQLclose();
17 
18             }
19             else
20             {
21                 newsql.SQLclose();
22                 MessageBox.Show("查不到东西");
23             }

 

问题  每次  都是 返回 0 或者-1    都不会得到1  

 

用的是 SQL 2008 的  我在 数据的 T-SQL 查询执行下面的代码

select * from KC_table where KC_name='世贸商城'

就可以显示 该行

麻烦 帮忙一下 谢谢

问题补充:

 这个是  数据库 的 执行类 

 

 1 /// <summary>
 2         /// 数据库执行语句
 3         /// </summary>
 4         /// <param name="OPstring"></param>
 5         /// <returns></returns>
 6         public int DBoperarion(string OPstring)
 7         {
 8             SqlCommand mycmd = new SqlCommand(OPstring, SQLcon);
 9             try
10             {
11                 int OPresult = mycmd.ExecuteNonQuery();
12                 return OPresult;
13             }
14             catch
15             {
16                 return 0;
17             }
18             finally
19             {
20                 SQLclose();
21             }
22         }
方杰斌的主页 方杰斌 | 初学一级 | 园豆:179
提问于:2012-10-30 15:33
< >
分享
所有回答(3)
0

不能通过这个来判断是否查到数据,用ExecuteReader或SqlDataAdpter来查询数据,用ExecuteNonQuery来执行其它操作。

最好也不要用ExecuteNonQuery的返回值来判断影响行数。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-10-30 15:47
0

要查询符合条件条数的话,有两点要改:

1.string chaxunstr = "select count(1) from KC_table where KC_name='"+textBox5.Text.Trim().ToString()+"'";
2.int OPresult = int.Parse(mycmd.ExecuteScalar().ToString());

jingjunfeng | 园豆:873 (小虾三级) | 2012-10-30 15:54
0

ExecuteNonQuery函数返回的是执行此sql语句后对整个表产生影响的行数,一般用于删除、添加、修改操作,查询记录是否存在可以用ExecuteScalar函数。

psforever | 园豆:461 (菜鸟二级) | 2012-10-30 17:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册