0

ローカル データベース (Microsoft Access) に対して SQL クエリを実行するのが苦手です。ユーザーが詳細を登録すると、それがデータベースに挿入されるコードを作成しようとしています。以下のコードを書きましたが、うまくいきません。私は何かを逃したと思います。どんな助けでも大歓迎です。

 public void InsertUserDetails(string fname, string sname, string uid, string password, string email)
{
    //Connection string for the datbase
    string database = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/Forum.accdb;Persist Security Info=True";
    OleDbConnection myConn = new OleDbConnection(database);


    //Execute the query
    string queryStr = "Insert into Users(Username, Password, Firstname, Surname, Email) values ('" + fname + "','" + sname + "','" + uid + "','" + password + "','" + email + "')";

     // Create a command object 
    OleDbCommand myCommand = new OleDbCommand(queryStr, myConn);
    // Open the connection 
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    myCommand.Connection.Close();

}
4

1 に答える 1

0

Password予約語です。データベース エンジンの混乱を避けるために、そのフィールド名を角括弧で囲みます。

string queryStr = "Insert into Users (Username, [Password], Firstname, Surname, Email) values ('" + fname + "','" + sname + "','" + uid + "','" + password + "','" + email + "')";
于 2013-04-18T15:46:16.953 に答える