作者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