我想根据文本框输入的三个条件查询我觉得我的sql语句写错了,不知道怎么改 private void btn_search_Click(object sender, EventArgs e)
{
DataTable dt = ReceiptsList().Tables[0];
dGVReceipts.DataSource = dt;
dGVReceipts.Refresh();
} public DataSet ReceiptsList()
{
DataSet ds = new DataSet();
SqlConnection sqlConn = new SqlConnection("Data Source=KCNQHd1458\\TFS_INSTANCE;Initial Catalog=Receipts;User ID=devtest;PWD=test123 ");
string strSQL = "select * from Receipts where ReportNo= @RecNo or Branch= @RecBr or Account= @RecAc ";
SqlCommand sqlcmd = new SqlCommand(strSQL, sqlConn);
sqlcmd.Parameters.AddWithValue("@RecNo", txtReportID.Text);
sqlcmd.Parameters.AddWithValue("@RecBr", txtCustomer.Text);
sqlcmd.Parameters.AddWithValue("@RecAc", comAccount.Text);
return GetDataSet(strSQL); }文本可视化工具显示是这句
select * from Receipts where ReportNo= @RecNo or Branch= @RecBr or Account= @RecAc
{
DataTable dt = ReceiptsList().Tables[0];
dGVReceipts.DataSource = dt;
dGVReceipts.Refresh();
} public DataSet ReceiptsList()
{
DataSet ds = new DataSet();
SqlConnection sqlConn = new SqlConnection("Data Source=KCNQHd1458\\TFS_INSTANCE;Initial Catalog=Receipts;User ID=devtest;PWD=test123 ");
string strSQL = "select * from Receipts where ReportNo= @RecNo or Branch= @RecBr or Account= @RecAc ";
SqlCommand sqlcmd = new SqlCommand(strSQL, sqlConn);
sqlcmd.Parameters.AddWithValue("@RecNo", txtReportID.Text);
sqlcmd.Parameters.AddWithValue("@RecBr", txtCustomer.Text);
sqlcmd.Parameters.AddWithValue("@RecAc", comAccount.Text);
return GetDataSet(strSQL); }文本可视化工具显示是这句
select * from Receipts where ReportNo= @RecNo or Branch= @RecBr or Account= @RecAc
解决方案 »
- C# 读取图像像素时出现错误
- 如何限制鼠标拖拽窗口的最大宽度和高度
- 做过IPad开发的请进,如何通过Ipad自动搜索并连接C#做好的服务
- 在C#中如何将字符串类型转换为整形,例如
- 请教高手 我用VS2005做的网站怎么发布!
- 写了一个.Net通用数据库访问组件DbHelperV2,请大家提提意见!
- 请问这个布局怎么弄?关于Winform的Dock?
- 哪位高手可以帮忙解释下try{}和catch{}的作用用法吗?
- 怎么在.net里用程序修改文件的文件名等信息呀?
- 我用 Asp.net + C#搭建一个Web应用程序后。。。。
- 请问专家~~我写一个CS架构得自动更新帮帮我
- winform webBrowser 显示图片的问题
提示
Error converting data type varchar to bigint.
错误求解什么原因造成的
你改成string strSQL = "select * from Receipts where ReportNo='"+ @RecNo +"' or Branch='"+ @RecBr+"' or Account='"+@RecAc"';
试试注意引号
declare @RecNo
刚才后面掉了个+号
我看下这个方法
换这个看看 GridView1.DataBind();
需要声明变量
declare @RecNo
sqlcmd.Parameters.AddWithValue
这两个我似乎不是很懂
追加上去 我的程序不认识
我干脆没用这个直接 "select * from Receipts where ReportNo= '" + txtReportID.Text + "' or Branch= '" + txtBranch.Text + "' or Account= '"+comAccount.Text+"' "这样虽然看起来乱点 但是脑子里清楚
函数太多 初学 认不过来
我就想说楼主你这个函数传参怎么会传入strSQL呢应该是上面的sqlcmd 不然你哪些给cmd赋值的代码就白写了
所以楼主你从这里去思考应该就可以找到了
明显是这句有问题,你把strSQL传给 GetDataSet(strSQL);有什么用啊? 你前面写的cmd多作废了啊
sqlcmd.Parameters.AddWithValue("@RecBr", SqlDbType.NVarChar).Value= txtCustomer.Text;
sqlcmd.Parameters.AddWithValue("@RecAc",SqlDbType.NVarChar).Value= comAccount.Text;红色是你数据库里这个字段的数据类型
SqlCommand sqlcmd = new SqlCommand(strSQL, sqlConn);
string strSQL = "select * from Receipts where @RecNo or @RecBr or @RecAc ";
SqlParameter[] parameters = {
new SqlParameter("@RecNo", txtReportID.Text),
new SqlParameter("@RecBr", txtCustomer.Text),
new SqlParameter("@RecAc", comAccount.Text)};
parameters[0].Value = txtReportID.Text;
parameters[0].Value = txtCustomer.Text;
parameters[0].Value = comAccount.Text;
GetDataSet(strSQL,parameters);