【问题标题】:Entering value to database after pressing enter from a textbox [closed]从文本框中按回车键后向数据库输入值[关闭]
【发布时间】:2013-11-28 13:47:36
【问题描述】:

我正在使用 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);`

【问题讨论】:

  • 您必须向我们提供更多信息和代码示例,说明您所做的工作。您使用的是哪个数据库?就我个人而言,我会使用 SQL 服务器 + 实体框架 + 存储库模式来实现您想要做的事情。
  • 您的问题没有明确识别,您也没有告诉您是否有任何错误,所以我认为KeyDown 是您在按钮事件中需要的

标签: c# sql winforms textbox buttonclick


【解决方案1】:

您可以处理TextBox 控件的KeyDown 事件来实现此目的。

示例代码:

    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()
                    }
              }                 
            }

如果您想了解更多信息,请告诉我您的情况。

【讨论】:

  • 希望它对我有帮助,但是当我双击它时,它只会给我文本更改,请指导我如何制作。
  • @user2979006 请在此处发布您的代码,以便我们为您提供帮助。
  • @user2979006:请告诉我们你是如何插入的。
  • 当你双击它时,意味着在什么文本框或其他按钮上,抱歉我听不懂。你能详细说明一下吗?
  • 这就是我通过单击按钮将数据输入数据库的方式我的 DB_Connection 中有我的连接字符串
【解决方案2】:

用于此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 事件之后保存到数据库中不是正确的方法。

对于您未来的问题,请提供您的代码。

【讨论】:

  • 谢谢马克,我认为我可以处理向数据库插入数据,因为我已经通过单击按钮通过但我需要按下键以防万一我有搜索但不知道请帮助我
  • @user2979006 如果您在 Visual Studio 中找不到事件选项卡并看到:msdn.microsoft.com/en-us/library/zwwsdtbk(v=vs.110).asp 它将指导您在哪里找到事件选项卡以创建事件。在Properties 窗口中单击Eventsdoubleclick 所需的一个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-17
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多