c# - c# windows form(我只需要打印表单水晶报表1个用户)
问题描述
我正在尝试从水晶报告中打印,但出现错误。这是我想做的图片。文本框用于用户 ID。当我输入 id 然后按下按钮时,我只想打印该用户信息。这是我的代码
if (conect.State != ConnectionState.Open)
{
conect.Open();
}
string cs = "select * from Sign_Up where ID='"+textBox1.Text+"'";
OleDbCommand command = new OleDbCommand(cs, conect);
OleDbDataAdapter adap = new OleDbDataAdapter(command);
DataSet ds = new DataSet();
adap.Fill(ds, "Sign_Up");
CrystalReport1 crs1 = new CrystalReport1();
crs1.SetDataSource(ds.Tables["Sign_Up"]);
crs1.SetDataSource(ds);
crystalReportViewer1.ReportSource = crs1;
conect.Close();
crystalReportViewer1.Refresh();
这是我的错误
System.Data.OleDb.OleDbException:“标准表达式中的数据类型不匹配。”
在这段代码adap.Fill(ds, "Sign_Up");
有人有什么建议吗?
解决方案
不要将撇号分隔符用于数字类型字段条件,它们用于文本字段。这导致“数据类型不匹配”错误。
string cs = "select * from Sign_Up where ID=" + textBox1.Text;
如果项目具有任何类型的公共可访问性(网络、远程用户),则使用参数将是至关重要的。这sal
将是一个声明的参数变量,@
表示在 SQL 语句中使用参数。
推荐阅读
- python - 如何真正理解 sklearn 中的 kfold 交叉验证
- android - 从 TravisCI 将 Android aar 库上传到 bintray
- javascript - 更改下拉图标和 javascript 转换
- c++ - 为什么将 12345 作为 12345 的一个值而不是 1、2、3、4 和 5 五个值读入整数数组?
- visual-studio-code - vscode 中的 tmux - 减慢滚动速度
- android - java.lang.NumberFormatException: Invalid int: "null" android studio
- cron - 当另一个程序使 cronjob 中的命令失败时,我如何使用 cronjob?
- javascript - 如何根据点击记录两个值并设置一个新函数对其进行操作
- python - python的不同终端命令行
- etsy - 客人购物车选择的变体在 Etsy API 中不起作用