【发布时间】:2020-08-23 20:42:44
【问题描述】:
我在网络上找不到任何可以解释如何插入的内容
if (radioButton1.Checked)
{
SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Andrej\Desktop\B9PROBA\B9\B9\Database5.mdf;Integrated Security=True;Connect Timeout=30");
SqlCommand com = new SqlCommand("INSERT INTO ARB11StavkeRezervacije(RezervacijaID,RBR,KomadID,Datum,KolikoSedista) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + comboBox1.SelectedValue + "','" + textBox3.Text + "','" + monthCalendar1.SelectionRange.Start.ToShortDateString() + "')", conn);
try
{
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds);
MessageBox.Show("Uspesno Uneti Podaci");
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
finally
{
conn.Close();
}
}
我总是收到一个字符串无法转换为日期的错误。
我不知道如何插入它
【问题讨论】:
-
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入 - 查看Little Bobby Tables
-
@Csharpclass,该参数不仅可以解决安全问题,如果您将
monthCalendar1.SelectionRange.Start值作为datetime参数而不是字符串传递,它将解决您的问题。见why parameters are a best practice。 -
@DanGuzman 我为我的无知道歉。谢谢你的回答
标签: c# sql-server date time