0
static string connStrCheckData = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("test.xlsx") + ";Extended Properties=Excel 12.0;";
 
static string      oledbConnCheckData = new OleDbConnection(connStrCheckData);

string adsName ="MagMall.com - subscription savings on 1,000's of magazines";

OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into  [sheet1$] ( [column1]) values ('" + adsName.ToString().Trim() + "')";
cmd.Connection = oledbConnCheckData;

oledbConnCheckData.Open();

cmd.ExecuteNonQuery();

oledbConnCheckData.Close();

エラー : クエリ式 ''MagMall.com - 1,000 冊の雑誌の定期購入割引')' に構文エラー (演算子の欠落) があります。

上記のエラーは、「MagMall.com - 1,000 冊の雑誌のサブスクリプション割引」という単語を挿入しようとしたときに発生します。

4

2 に答える 2

1

ユルゲンが言ったように、1,000 インチ (\' ではない) を追加する単一のアポストロフィ購入をエスケープする必要があります。二重アポストロフィーは、ステートメントを渡す正しい方法です。

于 2012-03-23T06:36:29.587 に答える
0

このように'inをエスケープする必要があります1,000's1,000\'s

于 2012-03-23T06:11:27.630 に答える