【发布时间】:2020-04-04 08:31:12
【问题描述】:
我有一个使用 SQL 数据库的插入查询。插入查询效果很好,但是当我使用 DateTimePicker 时,它会显示上面的错误消息。
你能告诉我如何在插入查询中使用 DateTimePicker 吗?
Public Function SearchData(ByVal qr As String) As DataSet
da = New SqlDataAdapter(qr, con)
ds = New DataSet
da.Fill(ds)
Return ds
End Function
Private Sub SaveEmp_Click(sender As Object, e As EventArgs) Handles SaveEmp.Click
Dim ms As New MemoryStream
PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
Dim img() As Byte
img = ms.ToArray()
Dim insertquery As String = "Insert into AddNew(Userid,EmpSalary,EmpName,FatherName,EmailAddress,BankAccount,HomeAddress,PersonalMobile,DateofBirth,EmpImage) values(" & EmpID.Text _
& "," & EmpSalary.Text & ",'" & EmpName.Text & "','" & FatherName.Text & "','" & EmailAddress.Text & "'," & BankAccount.Text & ",'" & HomeAddress.Text & "'," & PersonalMobile.Text & ",'" & DtpDOB.Value.Date.ToShortDateString("dd-MM-YYYY") & "',@img)"
Dim cmd As New SqlCommand(insertquery, con)
cmd.Parameters.Add("@img", SqlDbType.Image).Value = img
ExecuteMyQuery(cmd, "Image Inserted")
End Sub
【问题讨论】:
-
您应该为要插入数据库的每个值创建一个参数。正如您现在对图像字段所做的那样。通过这种方式,您可以避免 Sql Injection 黑客攻击,并且您不需要将日期时间值转换为字符串格式,您的数据库可以将其转换回数据时间以正确理解传递的值
-
谢谢,亲爱的史蒂夫,我会做的,然后检查会发生什么。再次感谢亲爱的您的时间。快乐。
-
您的 DateOfBirth 字段似乎也是一个整数?您打算如何将日期时间值存储在整数字段中?另一方面,电话号码永远不是数字。如果您有一个以 0 开头的电话号码,则该零将在数字字段中被修剪掉
-
Dear DateOfBirth field datatype is = Date in sql 现在我已经创建了参数,但还有一个错误显示给我。请在下面检查。
-
Dim insertquery As String = "插入 AddNew(Userid,EmpSalary,EmpName,FatherName,EmailAddress,BankAccount,HomeAddress,PersonalMobile,DateofBirth,EmpImage) 值(@EmpID,@EmpSalary,@EmpName,@父亲姓名,@EmailAddress,@BankAccount,@HomeAddress,@PersonalMobile,@DtpDOB,@img)"
标签: sql-server vb.net date visual-studio-2019 datetimepicker