-6

私はWindowsフォームアプリケーションc#で作業しています。いくつかのテキストボックスを作成しました。これらの値をデータベースに送信したいのですが、ボタンをクリックするとすべて機能しますが、テキストボックスからEnterキーを押した後、すべての値をデータベースに入力する必要があります. 何か案が??

                // Adding Values to Data Base
                string mySQL = "INSERT INTO Stock_Entry VALUES ("
                    + textBox_ItemId.Text + ", '"
                    + textBox_Ctgry.Text.Trim() + "','"
                    + textBox_ItmNme.Text.Trim() + "','"
                    + textBox_UntPrc.Text.Trim() + "','"
                    + textBox_Stock.Text.Trim() + "','"
                    + dateTimePicker_StkInDat.Text.Trim() + "','"
                    + textBox_Store.Text.Trim() + "','"
                    + textBox_StlLktn.Text.Trim() + "')";

                DBConnection database = new DBConnection();
                int rslt = database.insertValues(mySQL);`
4

2 に答える 2

2

これを実現するために、コントロールKeyDownのイベントを処理できます。TextBox

サンプルコード:

    private void TextBox1_KeyDown(object sender, KeyEventArgs e)
            {

                if (e.KeyCode == Keys.Enter)
                {
                    // call function here to Insert TextBox1 data into database
                    InsertMyData(TextBox1.Text.ToString());    
                }
            }

            private void InsertMyData(String value1)
            {
              //Insert Data into database
              String strCon = "Data Source=(local);Initial Catalog=mydatabase;uid=uid;pwd=pwd;Integrated Security=True;";
             using (SqlConnection sqlCon = new SqlConnection(strCon))
             {
                String strCmd = "insert into mytable(value1) value(@myvalue1)";
                    using (SqlCommand sqlcommand = new SqlCommand(strCmd, sqlCon))
                    {
                    sqlCon.Open();
                    sqlcommand.Parameters.AddWithValue("@myvalue1", value1);
                    sqlcommand.ExecuteNonQuery()
                    }
              }                 
            }

さらに情報が必要な場合は、シナリオをお知らせください。

于 2013-11-15T08:21:01.933 に答える
0

このKeyDownイベントで 使う

 private void YourTextBox_KeyDown(object sender, KeyEventArgs e)
        {
 String connection= "Data Source=YourServer;Initial Catalog=YourDatabase;user=User;password=YourPassword;Integrated Security=True;";
        if (e.KeyCode == Keys.Enter)
        {
string insertCmdText = "INSERT INTO table(column1)values(@valueForColumn1)";
SqlCommand sqlCom = new SqlCommand(insertCmdText,connection);
sqlCom.Paramaters.AddWithValue("@valueForColumn1",YourTextBox.Text);
connection.Open();
sqlCom.ExecuteNonQuery();
connection.Close();
        }
    }

ただし、KeyPress イベントの後にデータベースに保存することは正しい方法ではないことを考慮してください。

今後の質問については、コードを提供してください。

于 2013-11-15T08:26:02.150 に答える