Vb.net 获取错误-[令牌行编号=1,令牌行偏移量=21,eror中的令牌=-]
我不熟悉visual basic数据库我正在使用Vb.net 获取错误-[令牌行编号=1,令牌行偏移量=21,eror中的令牌=-],vb.net,visual-studio,visual-studio-2010,vb.net-2010,Vb.net,Visual Studio,Visual Studio 2010,Vb.net 2010,我不熟悉visual basic数据库我正在使用.sdf 运行此函数时,我在visual studio 2010中遇到以下错误 分析查询时出错。[令牌行号=1,令牌 行偏移量=21,eror中的标记=-] 谁能告诉我如何修复这个错误吗 Private Sub Save_Record() Dim con As SqlCeConnection = New SqlCeConnection Dim cmd As New SqlCeCommand Dim sSQL As Stri
.sdf
运行此函数时,我在visual studio 2010中遇到以下错误
分析查询时出错。[令牌行号=1,令牌
行偏移量=21,eror中的标记=-]
谁能告诉我如何修复这个错误吗
Private Sub Save_Record()
Dim con As SqlCeConnection = New SqlCeConnection
Dim cmd As New SqlCeCommand
Dim sSQL As String = String.Empty
con.ConnectionString = Get_Constring()
con.Open()
cmd.Connection = con
cmd.CommandType = CommandType.Text
Try
If Me.txtFirstName.Tag = 0 Then
sSQL = "INSERT INTO patients-2015 ( first_name, last_name, gender, phone_number, age, address, height, standing_bp, heart_rate, notes, reffered, disease, sub_diseases, registered_date, updated_date, prescribed_medicines)"
sSQL = sSQL & " VALUES ( @first_name, @last_name, @gender, @phone_number, @age, @address, @height, @standing_bp, @heart_rate, @notes, @reffered, @disease, @sub_diseases, @registered_date, @updated_date, @prescribed_medicines)"
cmd.CommandText = sSQL
Else
sSQL = "UPDATE patients-2015 SET first_name = @first_name, last_name = @last_name, gender = @gender, phone_number = @phone_number, age = @age, address = @address , height = @height, standing_bp = @standing_bp, heart_rate = @heart_rate, notes = @notes, reffered = @reffered, disease = @disease, sub_diseases = @sub_diseases, registered_date = @registered_date, standing_bp = @standing_bp, prescribed_medicines = @prescribed_medicines WHERE id = @id"
cmd.CommandText = sSQL
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.UInt64, .ParameterName = "@id"}).Value = Me.txtFirstName.Tag
End If
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@first_name"}).Value = IIf(Len(Trim(Me.txtFirstName.Text)) > 0, Me.txtFirstName.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@last_name"}).Value = IIf(Len(Trim(Me.txtLastName.Text)) > 0, Me.txtLastName.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@gender"}).Value = IIf(Not Me.ComboGender.Text = "Select", Me.ComboGender.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@phone_number"}).Value = IIf(Len(Trim(Me.TextPhoneNumber.Text)) > 0, Me.TextPhoneNumber.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@age"}).Value = IIf(Len(Trim(Me.txtAge.Text)) > 0, Me.txtAge.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@address"}).Value = IIf(Len(Trim(Me.txtAddress.Text)) > 0, Me.txtAddress.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@height"}).Value = IIf(Len(Trim(Me.txtHeight.Text)) > 0, Me.txtHeight.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@standing_bp"}).Value = IIf(Len(Trim(Me.txtBp.Text)) > 0, Me.txtBp.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@heart_rate"}).Value = IIf(Len(Trim(Me.txtHeartRate.Text)) > 0, Me.txtHeartRate.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@notes"}).Value = IIf(Len(Trim(Me.txtNotes.Text)) > 0, Me.txtNotes.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@reffered"}).Value = IIf(Len(Trim(Me.txtRefferer.Text)) > 0, Me.txtRefferer.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@disease"}).Value = IIf(Len(Trim(Me.ComboDisease.Text)) > 0, Me.ComboDisease.Text, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@sub_diseases"}).Value = IIf(Len(Trim(Me.CheckedList_SubTopic.SelectedItems.ToString)) > 0, Me.CheckedList_SubTopic.SelectedItems.ToString, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.DateTime, .ParameterName = "@registered_date"}).Value = IIf(Len(Trim(DateAndTime.Now.ToLongTimeString)) > 0, DateAndTime.Now.ToLongTimeString, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.DateTime, .ParameterName = "@updated_date"}).Value = IIf(Len(Trim(DateAndTime.Now)) > 0, DateAndTime.Now, DBNull.Value)
cmd.Parameters.Add(New SqlCeParameter With {.DbType = DbType.String, .ParameterName = "@prescribed_medicines"}).Value = IIf(Len(Trim(Me.txtPrescribedMedicines.Text)) > 0, Me.txtPrescribedMedicines.Text, DBNull.Value)
' Dim Result As Integer = cmd.ExecuteNonQuery
Dim Result As Integer = cmd.ExecuteNonQuery
'If the record is new then we have to get its ID so that we can edit it rightaway after the insertion.
If Me.txtFirstName.Tag = 0 Then
cmd.CommandText = "Select @@Identity"
'Set textbox tag property with the ID of new record
Me.txtFirstName.Tag = cmd.ExecuteScalar()
End If
If Result <> 1 Then
MessageBox.Show("Insert failed.")
Else
MessageBox.Show("Data has been saved.")
End If
Catch ex As Exception
MsgBox(ErrorToString)
Finally
con.Close()
End Try
End Sub
Private Sub Save_Record()
Dim con As SqlCeConnection=新SqlCeConnection
Dim cmd作为新的SqlCeCommand
Dim sSQL为String=String.Empty
con.ConnectionString=Get\u Constring()
con.Open()
cmd.Connection=con
cmd.CommandType=CommandType.Text
尝试
如果Me.txtFirstName.Tag=0,则
sSQL=“插入患者-2015(姓名、性别、电话号码、年龄、地址、身高、站立血压、心率、注释、参考、疾病、亚类疾病、注册日期、更新日期、处方药物)”
sSQL=sSQL&“值(@first\u name、@last\u name、@gender、@phone\u number、@age、@address、@height、@standing\u bp、@heartrate、@notes、@reffered、@disease、@sub\u diseases、@registered\u date、@updated\u date、@处方药)”
cmd.CommandText=sSQL
其他的
sSQL=“更新患者-2015设置姓名=@first\u name,姓氏=@last\u name,性别=@gender,电话号码=@phone\u number,年龄=@age,地址=@address,身高=@height,standing\u bp=@standing\u bp,心率=@heartr\u rate,notes=@notes,reffered=@reffered,disease=@disease,sub\u diseases=@sub\u diseases,注册日期=@registered\u date,standing\u bp=@standing\u bp,处方药=@处方药,其中id=@id“
cmd.CommandText=sSQL
cmd.Parameters.Add(带有{.DbType=DbType.UInt64.ParameterName=“@id”})的新SqlCeParameter.Value=Me.txtFirstName.Tag
如果结束
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@first_name”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtFirstName.Text))>0,Me.txtFirstName.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@last_name”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtLastName.Text))>0,Me.txtLastName.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String,.ParameterName=“@gender”})的新SqlCeParameter.Value=IIf(而不是Me.ComboGender.Text=“Select”,Me.ComboGender.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@phone_number”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.TextPhoneNumber.Text))>0,Me.TextPhoneNumber.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@age”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtAge.Text))>0,Me.txtAge.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String,.ParameterName=“@address”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtAddress.Text))>0,Me.txtAddress.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String,.ParameterName=“@height”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txthheight.Text))>0,Me.txthheight.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@standing_bp”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtBp.Text))>0,Me.txtBp.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@heart_rate”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtHeartRate.Text))>0,Me.txtHeartRate.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String,.ParameterName=“@notes”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtNotes.Text))>0,Me.txtNotes.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@reffered”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.txtreffer.Text))>0,Me.txtreffer.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@disease”})的新SqlCeParameter.Value=IIf(Len(Trim(Me.ComboDisease.Text))>0,Me.ComboDisease.Text,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String,.ParameterName=“@sub_diseases”})的新SqlCeParameter.Value=IIf(Len(Trim(Trim(Me.CheckedList\u SubTopic.SelectedItems.ToString))>0,Me.CheckedList\u SubTopic.SelectedItems.ToString,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.DateTime,.ParameterName=“@registered_date”})的新SqlCeParameter.Value=IIf(Len(Trim(DateAndTime.Now.ToLongTimeString))>0,DateAndTime.Now.ToLongTimeString,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.DateTime,.ParameterName=“@updated_date”})的新SqlCeParameter.Value=IIf(Len(Trim(DateAndTime.Now))>0,DateAndTime.Now,DBNull.Value)
cmd.Parameters.Add(带有{.DbType=DbType.String.ParameterName=“@presided_medicines”})的新SqlCeParameter.Value=IIf(Len(Trim(Trim(Me.txtPrescriptedMedicines.Text))>0,Me.txPrescriptedMedicines.Text,DBNull.Value)
'Dim结果为整数=cmd.ExecuteNonQuery
Dim结果为整数=cmd.ExecuteNonQuery
'如果记录是新的,那么我们必须获取其ID,以便在插入后可以立即对其进行编辑。
如果Me.txtFirstName.Tag=0,则
cmd.CommandText=“选择@@Identity”
'使用新记录的ID设置textbox标记属性
Me.txtFirstName.Tag=cmd.ExecuteScalar()
如果结束
如果结果是1,那么
MessageBox.Show(“插入失败”)
其他的
MessageBox.Show(“数据已保存”)
如果结束
特例
MsgBox(ErrorToString)
最后
con.Close()
结束尝试
端接头
使用您已写入表名的[patients-2015]
更新代码行。例如
sSQL = "INSERT INTO [patients-2015] ( first_name, last_name, gender, phone_number, age, address, height, standing_bp, heart_rate, notes, reffered, disease, sub_diseases, registered_date, updated_date, prescribed_medicines)"
因此,您需要在编写tabl的代码中的任何地方应用此更改