文本框中两个日期之间的数据:代码错误
本文关键字:之间 数据 错误 代码 日期 两个 文本 | 更新日期: 2023-09-27 17:53:09
日期文本框到文本框当在文本框中写入日期时,两个日期之间的校正数据将进入数据网格我的代码是:*
private void btnSubmit_Click(object sender, EventArgs e)
{
SqlConnection cs = new SqlConnection("Data Source=IRIS-CSG-174;Initial Catalog=library_system;Integrated Security=True");
cs.Open();
SqlCommand cmd = new SqlCommand("select * from dbo.lib_issue_details where book_issue_on between=" + textBox1.Text+""+"and"+ textBox2.Text +"", cs);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
DataSet ds = new DataSet();
da.Fill(ds, "lib_issue_details");
dataGridView1.DataBindings.Add(new Binding("text", ds, "lib_issue_details.book_issue_on"));
显示'='附近语法不正确。帮助我在这个代码…提前感谢!!
我觉得这行
SqlCommand cmd = new SqlCommand("select * from dbo.lib_issue_details where book_issue_on between=" + textBox1.Text+""+"and"+ textBox2.Text +"", cs);
应该是这样的:
SqlCommand cmd = new SqlCommand("select * from dbo.lib_issue_details where book_issue_on between " + textBox1.Text + " and " + textBox2.Text, cs);
或者,更好的方法是使用参数。
SqlCommand cmd = new SqlCommand("select * from dbo.lib_issue_details where book_issue_on between @date1 and @date2", cs);
cmd.Parameters.Add("@date1", SqlDbType.DateTime);
cmd.Parameters["@date1"].Value = textBox1.Text;
cmd.Parameters.Add("@date2", SqlDbType.DateTime);
cmd.Parameters["@date2"].Value = textBox1.Text;
我可能会考虑使用DateTimePicker而不是文本框。
删除查询中的"="
应该是where book_issue_on between date1 and date2
,不需要'='号
SqlCommand cmd = new SqlCommand("select * from dbo.lib_issue_details where book_issue_on between " + textBox1.Text+""+" and "+ textBox2.Text +"", cs);
使用命令参数。如果只是为了安全(SQL注入)
一些例子:
- 第06课:给命令添加参数
- SqlCommand。参数属性