答案 0 :(得分:2)
试试这个:
这将涵盖使用Parameterized Queries
:
Dim cmd as new SqlCommand("INSERT INTO dbo.Employee(Fullname, Position, EmployeeNumber, Salary) Values (@Name, @Position, @Number, @Salary)", conn)
cmd.parameters.addWithValue("@Name", txtFullName.Text)
cmd.parameters.addWithValue("@Position", txtPosition.Text)
cmd.parameters.addWithValue("@EmployeeNumber", Integer.Parse(txtEmployeeNumber.Text)) 'Assuming You have employee number in integer
cmd.parameters.addWithValue("@Salary", Integer.Parse(txtSalary.Text)) 'Assuming You have employee number in integer
cmd.ExecuteNonQuery()
随意询问您是否有任何疑问。除非您在数据库中设置了不同的数据类型,否则不会得到上述错误。
答案 1 :(得分:2)
你遗失了'}'在" {3}"
结束我认为id列将是一个自动递增值。
如果没有,那么你需要设置它,否则如果你有一个不可为空的列,没有默认值,如果你没有提供任何值,它将引发错误。
在SQL Server Management Studio中设置自动增量:
步骤1:在设计模式下打开表格
步骤2:选择您的列并转到列属性
步骤3:在Indentity Specification下,设置Is Identity = Yes和Indentity Increment = 1
答案 2 :(得分:-1)
您尚未在查询中指定id列。
或者将id列标记为员工表中的标识