0

C# と Access データベースを使用してプログラムを作成し、追加するたびに新しい行を作成して接続し、テーブルに値を追加しようとしていますが、この問題に遭遇し、自分のプログラムで機能する解決策が見つかりません。 . これが私のコードの一部です

        public string connstr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\College\Year 2\Structured Programming\Go Greece Ver.1\Database\GoGreece.accdb;Persist Security Info=False;";

        private void savebutton_Click(object sender, EventArgs e)
        {
            {

                OleDbConnection hotelConn = new OleDbConnection(connstr);
                InitializeComponent(); 
                OleDbCommand hotelComm = new OleDbCommand();
                OleDbDataAdapter hotelAdapter = new OleDbDataAdapter();
                DataTable hotelData = new DataTable();
                DataSet ds = new DataSet();

                hotelConn.Open();
                hotelComm.Connection = hotelConn;
                hotelComm.CommandText = " INSERT INTO Hotels (Name) VALUES ('" + nametext + "')";
                int temp = hotelComm.ExecuteNonQuery();
                if (temp > 0)
                {
                    nametext.Text = null;
                    MessageBox.Show("Successfully added into database");
                }
                else
                {
                    MessageBox.Show("Records were not added into the database");
                }
                hotelConn.Close();
4

1 に答える 1

0

私の頭の上から、私はそれがこのようなものであるべきだと思います:-

string connstr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\College\Year 2\Structured Programming\Go Greece Ver.1\Database\GoGreece.accdb;Persist Security Info=False;";



using (OleDbConnection con = new OleDbConnection(connstr))
        {
            string SQlstring = string.Format("INSERT INTO [Hotels] (Name) VALUES ('{0}')", nametext);
            OleDbCommand cmd = new OleDbCommand(SQlstring, con);

            try
            {
                con.Open();
                int result = cmd.ExecuteNonQuery();
            }
            catch(OleDbException Ex)
            {
                MessageBox.Show(Ex.Message);
            }
        }
于 2013-02-27T11:58:43.677 に答える