Sql server Visual Basic错误';靠近';的语法不正确'';
我使用的是Visual Studio 2019社区版,我有一个连接到SQL server的表单,我的Visual basic表单的连接测试成功。然而,当我尝试将数据放入数据库时,我在第14行得到了错误 System.Data.SqlClient.SqlException:“附近语法不正确”)。' 这是我的密码:我哪里出错了Sql server Visual Basic错误';靠近';的语法不正确'';,sql-server,vb.net,forms,database-connection,visual-studio-2019,Sql Server,Vb.net,Forms,Database Connection,Visual Studio 2019,我使用的是Visual Studio 2019社区版,我有一个连接到SQL server的表单,我的Visual basic表单的连接测试成功。然而,当我尝试将数据放入数据库时,我在第14行得到了错误 System.Data.SqlClient.SqlException:“附近语法不正确”)。' 这是我的密码:我哪里出错了 导入System.Data.SqlClient 公开课表格1 Dim名称,您好,符合字符串条件 暗血如弦 以字符串的形式表示同意 Dim连接作为新的SqlConnection
导入System.Data.SqlClient
公开课表格1
Dim名称,您好,符合字符串条件
暗血如弦
以字符串的形式表示同意
Dim连接作为新的SqlConnection(“服务器=DESKTOP-SNVR5AC;数据库=bloodform;集成安全性=true”)
私有子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
“联系
Dim命令作为新的SqlCommand(“插入到表单中(全名、出生日期、电子邮件、城镇、血型、年龄、以前的捐献、任何疾病、血液检测阳性、心脏问题、出血障碍)”值(“&TextBox1.Text&“,”&DateTimePicker1.Text&“,”&TextBox2.Text&“,”&combox2.Text&“,”&ListBox2.Text&“,”&combox1.Text&“,”&GroupBox1.Text&“,”&GroupBox2.Text&“,”&GroupBox3.Text&“,”&GroupBox4.Text&“,”&GroupBox5.Text&“,)”,连接)
connection.Open()
如果command.ExecuteOnQuery()=1,则
MsgBox(“提交的申请”)
其他的
MsgBox(“未提交申请”)
如果结束
连接。关闭()
'复选框
如果CheckBox1.Checked=False,则
同意=“请同意条款和条件”
MsgBox(同意)
ElseIf CheckBox1.Checked=True然后
欢迎辞
名称=(TextBox1.Text)
您好=“欢迎”
MsgBox(hello&Space(2)和name)
“年龄资格
如果ComboBox1.SelectedIndex=0,则
合格=“您未成年”
MsgBox(合格)
ElseIf ComboBox1.SelectedIndex=1,然后
合格=“您可以献血。”
'MsgBox(合格)
“血
如果ListBox2.SelectedItem.ToString()=“Apositive”,则
blood=“您是A+,可以捐赠给A+和AB+”
MsgBox(合格和空间(1)和血液)
ElseIf ListBox2.选择editem.ToString()=“b正”,然后
blood=“您是B+,可以捐赠给B+和AB+”
MsgBox(合格和空间(1)和血液)
ElseIf ListBox2.选择EdItem.ToString()=“Opositive”,然后
blood=“您是O+,可以捐赠给O+、A+、B+和AB+”
MsgBox(合格和空间(1)和血液)
ElseIf ListBox2.选择editem.ToString()=“ABpositive”,然后
blood=“您是AB+,可以捐赠给AB+”
MsgBox(合格和空间(1)和血液)
ElseIf ListBox2.选择editem.ToString()=“Anegative”,然后
blood=“您是A-,可以捐赠给A+、A-、AB+和AB-”
MsgBox(合格和空间(1)和血液)
ElseIf ListBox2.选择EdItem.ToString()=“B阴性”,然后
blood=“您是B-,可以捐赠给B+、B-、AB+和AB-”
MsgBox(合格和空间(1)和血液)
ElseIf ListBox2.选择EdItem.ToString()=“Onegative”,然后
blood=“你是O-并且可以捐赠给所有人”
MsgBox(合格和空间(1)和血液)
ElseIf ListBox2.选择EdItem.ToString()=“放弃”,然后
blood=“您是AB-并且可以捐赠给AB+和AB-”
MsgBox(合格和空间(1)和血液)
如果结束
如果结束
如果结束
端接头
末级
SQL查询的结尾包含不必要的逗号
GroupBox4.Text & "','" & GroupBox5.Text & "',)", connection)
我建议您使用sql参数来传递值,它更安全(防止sql注入)、智能且易于控制
尝试:
SQL查询的结尾包含不必要的逗号
GroupBox4.Text & "','" & GroupBox5.Text & "',)", connection)
我建议您使用sql参数来传递值,它更安全(防止sql注入)、智能且易于控制
尝试:
要记住的一些事情: 尝试在整个表单中重复使用相同的连接对象是不好的。这会干扰称为连接池的过程 使用字符串连接将用户输入放入SQL查询中是不好的。事实上,很难夸大这种做法有多糟糕 如果引发异常,原始代码将无法关闭连接 您可能应该在插入记录之前检查合格性
Dim connectionString As String=“Server=DESKTOP-SNVR5AC;Database=bloodform;integratedsecurity=true”
私有子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
如果未选中复选框1。则选中
MsgBox(“请同意条款和条件”)
出口接头
如果结束
如果ComboBox1.SelectedIndex=0,则
MsgBox(“您未成年”)
出口接头
如果结束
将SQL设置为字符串=
“惰性化为形式(
全名、出生日期、电子邮件、城镇、血型、年龄、以前的献血、任何疾病、血检阳性、心脏问题、出血性疾病
)价值观(
@FullNamae、@DOB、@Email、@Town、@BloodType、@Age、@previous捐赠、@Diseases、@BloodTest、@cardial、@bloedingdisorders
)"
Dim RowsChanged为整数
将cn用作新的SqlConnection(connectionString)_
cmd作为新的SqlCommand(SQL,cn)
“我必须在这里猜测类型和长度。您应该使用数据库中的实际类型定义。
cmd.Parameters.Add(“@FullName”,SqlDbType.NVarChar,50).Value=TextBox1.Text
cmd.Parameters.Add(“@DOB”,SqlDbType.DateTime).Value=DateTimePicker1.Value
cmd.Parameters.Add(“@Email”,SqlDbType.NVarChar,85).Value=TextBox2.Text
cmd.Paramerers.Add(“@Town”,SqlDbType.NVarChar,50).Value=ComboBox2.Text
cmd.Parameters.Add(“@BloodType”,SqlDbType.VarChar,3).Va
Dim connectionString As String = "Server = DESKTOP-SNVR5AC; Database = bloodform; Integrated security = true"
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using connection As New SqlConnection(connectionString)
Try
connection.Open()
Dim command = New SqlCommand
command.Connection = connection
command.CommandText = "insert into form(Full_name) values (@parameter)"
command.Parameters.AddWithValue("@parameter", TextBox1.Text)
If command.ExecuteNonQuery() Then
MsgBox("Application submitted")
Else
MsgBox("Application not submitted")
End If
command.Dispose()
Catch ex As Exception
MessageBox.Show("Error while inserting record on table..." & ex.Message, "Insert Records")
End Try
End Using
...
End Sub