急求一个关于C#的问题!获取TEXTBOX中的值用来做查询的条件,并且查询后在另一个TEXTBOX中显示结果来!!
stringsql1; sql1="select*fromqicheimagewhereqichebianhaolike '"+this.chepai...
string sql1; sql1="select * from qicheimage where qichebianhao like '"+this.chepaihao.Text+"%'"; getdata1(sql1); private void getdata1(string sql1) { DataSet result = new DataSet(); result = new Class1().hsggetdata(sql1); if (result != null) { if (result.Tables[0].Rows.Count > 0) { zt.Text = result.Tables[0].Rows[0]["zt"].ToString().Trim(); } } 为什么显示出来的结果都是数据库中第一行的那个值啊!!求解啊!!还有~~要是我不用LIKE查询的话~~就显示不出结果!!高人来救我!!
展开
展开全部
result.Tables[0].Rows[0]["zt"].ToString().Trim(); Rows[0]返回的是第一行
Rows[1]是第二行,以此类推
不用LIKE没有结果说明你输入的条件并没有全部匹配,如数据库中qichebianhao 栏位的值是
abcdefg, 而你传入abcdef就找不到,但用了LIKE后就可以找到了,因为是部分匹配。
string sql1; sql1="select * from qicheimage where qichebianhao like '"+this.chepaihao.Text+"%'";
这句话最好写成
string sql1; sql1="select * from qicheimage where qichebianhao like '%"+this.chepaihao.Text+"%'";
使用两个%,还是上边的例子,此时如果传入bcde一样可以找到,而并非abcde
Rows[1]是第二行,以此类推
不用LIKE没有结果说明你输入的条件并没有全部匹配,如数据库中qichebianhao 栏位的值是
abcdefg, 而你传入abcdef就找不到,但用了LIKE后就可以找到了,因为是部分匹配。
string sql1; sql1="select * from qicheimage where qichebianhao like '"+this.chepaihao.Text+"%'";
这句话最好写成
string sql1; sql1="select * from qicheimage where qichebianhao like '%"+this.chepaihao.Text+"%'";
使用两个%,还是上边的例子,此时如果传入bcde一样可以找到,而并非abcde
展开全部
我猜你的[qichebianhao] 字段的类型是nchar或char 型的吧,要改成nvarchar或varchar,
因为nchar和char 是固定长度类型,插入值得长度不够会自动补空格的,你看下的那个字段里的值后面是不是有空格
因为nchar和char 是固定长度类型,插入值得长度不够会自动补空格的,你看下的那个字段里的值后面是不是有空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Rows[0]["zt"]本来就是指定第一行的数据"zt"列的数据呀,有什么问题?
另外你不用like查询不出数据,那要看你查询的数据是不是有相关精确的值在数据库表中。
另外你不用like查询不出数据,那要看你查询的数据是不是有相关精确的值在数据库表中。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询