作者JSL1028 (JSL)
看板C_Sharp
标题[问题] ASP.NET MSSQL
时间Thu Dec 8 15:54:25 2011
最近装了MSSQL
然後按照之前我用Access的方式改写
--
※Default.aspx
public int insert(String str1, String str2) {
String sql = "INSERT INTO dbo.table1(col1, col2) values(?, ?)";
SqlParameter[] parameters = new SqlParameter[2];
parameters[0] = new SqlParameter("@col1", SqlDbType.VarChar, 255);
parameters[0].Value = str1;
parameters[1] = new SqlParameter("@col2", SqlDbType.VarChar, 255);
parameters[1].Value = str2;
using(SqlConnection mAccessConn = new
SqlConnection(mSqlDataSource.ConnectionString))
{
SqlCommand mAccessCmd = new SqlCommand(sql, mAccessConn);
mAccessConn.Open();
mAccessCmd.Parameters.AddRange(parameters);
mAccessCmd.ExecuteNonQuery();
mAccessCmd.CommandText = "SELECT @@identity";
return Int32.Parse(mAccessCmd.ExecuteScalar().ToString());
}
}
--
※dbo.table1
Column Name Data Type Allow Nulls
id int
col1 varchar(255) V
col2 varchar(255) V
--
然後他在我黄色的那句出现error
System.Data.SqlClient.SqlException: Incorrect syntax near '?'.
总觉得我写法没错= =a
因为我之前用一样的写法去用Microsoft Access时是正常运作的
这样会是在加paramters时写错吗
谢谢回答~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.49.204
※ 编辑: JSL1028 来自: 140.112.49.204 (12/08 16:14)
1F:→ JSL1028:结果我把(?, ?)改成(@col1, @col2)就好了 不过还是不知道 12/08 16:22
2F:→ JSL1028:这和Microsoft Access的差别... 12/08 16:22
4F:→ rularula:没有记错的话,MySQL也是使用"@" 12/09 00:16
5F:→ JSL1028:看来是不支援的样子 感谢鲁拉鲁拉大大! 12/09 01:53