【发布时间】:2011-08-19 03:02:57
【问题描述】:
我有以下方法可以将数据插入到一个访问数据库中,它工作正常,但如果我尝试插入包含我学过的单引号的文本,我会遇到问题。
[WebMethod]
public void bookRatedAdd(string title, int rating, string review, string ISBN, string userName)
{
OleDbConnection conn;
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;
Data Source=" + Server.MapPath("App_Data\\BookRateInitial.mdb"));
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = @"INSERT INTO bookRated([title], [rating], [review], [frnISBN], [frnUserName])VALUES('" + title + "', '" + rating + "','" + review + "','" + ISBN + "', '" + userName + "')";
cmd.ExecuteNonQuery();
conn.Close();
}
据我了解,解决问题的方法之一是使用参数。老实说,我不知道该怎么做。如何更改上面的代码,以便使用参数插入数据?
【问题讨论】:
-
附带说明,请记住
@前缀使字符串文字为 verbatim,这意味着您的连接字符串跨越多行,并且中间有一堆空格。此外,所有DbCommand实现都实现IDisposable,这意味着您应该在使用后处理您的命令。