';附近的sql语句语法不正确';

';附近的sql语句语法不正确';,sql,syntax,Sql,Syntax,您好,我正在将使用良好旧访问权限的本地数据库移动到sql server。我的insert语句有问题,它说“靠近'?'的语法不正确” 我需要使用@符号:/ @studentID,@studentFirstName..移动到另一个SQL Server数据库?SQL Server使用命名参数,将问号替换为实际列名,并在其前面加上@,f.e.:…值(@studentID、@studentFirstName、@studentLastName…。使用…参数时必须使用这些占位符。添加(“@studentID”

您好,我正在将使用良好旧访问权限的本地数据库移动到sql server。我的insert语句有问题,它说“靠近'?'的语法不正确”


我需要使用@符号:/


@studentID,@studentFirstName..

移动到另一个SQL Server数据库?SQL Server使用命名参数,将问号替换为实际列名,并在其前面加上
@
,f.e.:
…值(@studentID、@studentFirstName、@studentLastName…
。使用
…参数时必须使用这些占位符。添加(“@studentID”,SqlDbType.Int)。Value=studentID
您使用哪些数据库管理系统?如何执行“sql”?您是否正确指定了参数?听起来这些参数没有正确插入到最终执行的SQL中,这不是SQL。这是Java代码(我猜)使用字符串中带有
占位符的SQL。我猜您试图通过
语句#execute
运行它。相反,您希望将它与
PreparedStatement
一起使用,并使用
PreparedStatement
上的各种
setXyz
方法来指定占位符的值。搜索Java JDBC tut奥里亚尔。
String sql = "INSERT INTO tblStudent(studentID,studentFirstName,studentLastName,studentPrefName,addressO1,addressO2,addressO3,addressO4,phoneO,phoneAltO,address1,address2,address3,address4,phone,phoneAlt,guardianID,agentID,emailAddress,schoolID,status) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";