- - PR -
データベースにチェックボックスの情報の追加の仕方
«前のページへ
1|2|3|4
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-02-26 16:22
できましたー。かなりうれしいです。
まゆりんさん、、なちゃさん、ゆうじゅんさん、Jittaさん、 イクザスさん、NAL-6295さん、本当にありがとうございました。 >NAL-6295さん、見落としていました。 ご指摘ありがとうございます。言われていなければ 全然気づかなかったと思います。 で、問題はどうやらParameterだったようです。 イクザスさんの例を参考にして、最初のコードで Parameterを使うとうまくいきました。 コード private void btnAdd_Click(object sender, System.EventArgs e) { String strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + Request.PhysicalApplicationPath + "TRCIDB.mdb;Mode=ReadWrite|Share Deny None;"; String select = "SELECT UIdNum, Username, Name, usrpwd, Admin FROM User"; //Create a connection OleDbConnection cn = new OleDbConnection(strConnect); cn.Open(); //create a new OleDbCommand //System.Data.OleDb.OleDbCommand objCommand = new OleDbCommand( select, new OleDbConnection( strConnect )); //objCommand.Connection.Open(); System.Data.OleDb.OleDbCommand testInsertCommand1; testInsertCommand1 = new OleDbCommand(select, new OleDbConnection( strConnect )); //strings to store the text fields string username = this.txtUsername.Text.Trim(); string name = this.txtName.Text.Trim(); string password = this.txtPassword.Text.Trim(); bool isAdmin = this.chkbxAdmin.Checked; //adds the new information into the database if ( username != null && name != null && password != null) { testInsertCommand1.CommandText = "INSERT INTO [User](Username, Name, usrpwd, Admin ) values(username,name,password,isAdmin)"; testInsertCommand1.Connection.Open();// = this.oleDbConnection1; testInsertCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("Username", System.Data.OleDb.OleDbType.VarWChar, 50, "Username")); testInsertCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("Name", System.Data.OleDb.OleDbType.VarWChar, 50, "Name")); testInsertCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("usrpwd", System.Data.OleDb.OleDbType.VarWChar, 50, "usrpwd")); testInsertCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("Admin", System.Data.OleDb.OleDbType.Boolean, 2, "Admin")); // Add testInsertCommand1.Parameters["Username"].Value = username; testInsertCommand1.Parameters["Name"].Value = name; testInsertCommand1.Parameters["usrpwd"].Value = password; testInsertCommand1.Parameters["Admin"].Value = chkbxAdmin.Checked; int iCnt = testInsertCommand1.ExecuteNonQuery(); //testInsertCommand1.ExecuteNonQuery(); txtUsername.Text = ""; txtName.Text = ""; txtPassword.Text = ""; chkbxAdmin.Checked = false; } // Close a command testInsertCommand1.Connection.Close(); みなさん本当にありがとうございました。 みなさんのおかげでなんとか解決できました。 また質問の時はよろしくお願いします。 | ||||
|
投稿日時: 2004-02-26 19:03
もう解決したから良いかなとも思いましたが...
当初のParametersを使わない方法でのやり方ですが。 1.テーブル名「User」でエラーになります(SQLの予約語?)。他の名前に変更する。 2.Accessの Yae/No フィールドは True または False の文字で指定します。
(テーブル名をUser1に変更して、isAdmin の部分のシングルコーテーションを外して、True または False の文字で指定する) で出来ると思います。 |
«前のページへ
1|2|3|4