【问题标题】:How to insert hardcoded value for a field into the database whenever button is clicked?每当单击按钮时,如何将字段的硬编码值插入数据库?
【发布时间】:2014-01-22 10:31:49
【问题描述】:

在我的约会表中,我有 aDate、aTime、aContact、aHeight、aWeight、patientID、mcID 和 aStatus 字段。 aDate、aTime、aContact、aHeight、aWeight、patientID、mcID 值将通过文本框输入并插入到数据库中,但仅适用于 aStatus 字段,我希望它在创建时自动将名为(等待)aStatus 字段的值插入约会表中按钮被点击,aStatus怎么做?

protected void btnCreate_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sacpConnectionString"].ConnectionString))
        {
            try
            {
                SqlCommand cmd = new SqlCommand();
                Guid guid;
                guid = Guid.NewGuid();
                string sql = "INSERT INTO appointment (aDate, aTime, aContact, aHeight, aWeight, patientID, mcID)";
                sql += "VALUES (@aDate, @aTime, @aContact, @aHeight, @aWeight, @patientID, @mcID)";
                cmd.Parameters.AddWithValue("@aDate", txtDate.Value);
                cmd.Parameters.AddWithValue("@aTime", txtTime.Value);
                cmd.Parameters.AddWithValue("@aContact", txtContact.Value.Trim());
                cmd.Parameters.AddWithValue("@aHeight", txtHeight.Value.Trim());
                cmd.Parameters.AddWithValue("@aWeight", txtWeight.Value.Trim());
                cmd.Parameters.AddWithValue("@patientID", txtpatientID.Value.Trim());
                cmd.Parameters.AddWithValue("@mcID", txtmcID.Value.Trim());

                cmd.Connection = con;
                cmd.CommandText = sql;
                con.Open();

                cmd.ExecuteNonQuery();

               // Session.Add("Username", txtFirstName.Value);
              //  Session.Add("Password", txtContact.Value);
              //  FormsAuthentication.SetAuthCookie(txtFirstName.Value, true);
                Response.Redirect("../index.aspx");

            }

            finally
            {
                con.Close();
            }


        }
    }
}

【问题讨论】:

    标签: c# forms insert window


    【解决方案1】:

    如果你想插入一些 integer 值(例如:ID),它会为每条新记录递增,你可以使用 IDENTITY 列,但在你的情况下,你想插入默认的 string 值每条记录,因此您可以直接在INSERT INTO 语句中分配它。

    试试这个:

    String strStatus="waiting";
    string sql = "INSERT INTO appointment (aStatus,aDate, aTime, aContact, aHeight, aWeight, patientID, mcID)";
                    sql += "VALUES (@aStatus,@aDate, @aTime, @aContact, @aHeight, @aWeight, @patientID, @mcID)";
    cmd.Parameters.AddWithValue("@aStatus", strStatus);
    cmd.Parameters.AddWithValue("@aDate", txtDate.Value);
    cmd.Parameters.AddWithValue("@aTime", txtTime.Value);
    cmd.Parameters.AddWithValue("@aContact", txtContact.Value.Trim());
    cmd.Parameters.AddWithValue("@aHeight", txtHeight.Value.Trim());
    cmd.Parameters.AddWithValue("@aWeight", txtWeight.Value.Trim());
    cmd.Parameters.AddWithValue("@patientID", txtpatientID.Value.Trim());
    cmd.Parameters.AddWithValue("@mcID", txtmcID.Value.Trim());
    

    【讨论】:

      【解决方案2】:

      您可以尝试通过执行以下查询来设置数据库中列的默认值:

      ALTER TABLE appointment
      ALTER aStatus SET DEFAULT '(waiting)'
      

      【讨论】:

        【解决方案3】:

        SQL 字符串

            string sql = "INSERT INTO appointment (aDate, aTime, aContact, aHeight, aWeight, patientID, mcID, aStatus)";
        

        你的价值观

            sql += "VALUES (@aDate, @aTime, @aContact, @aHeight, @aWeight, @patientID, @mcID, 'waiting')";
        

        【讨论】:

          【解决方案4】:

          这就是解决方案,就像没有添加参数的 Sudhakar Tillapudi 一样:

          String strStatus="waiting";
          string sql = "INSERT INTO appointment (aStatus,aDate, aTime, aContact, aHeight, aWeight, patientID, mcID)";
          sql += "VALUES ('waiting',@aDate, @aTime, @aContact, @aHeight, @aWeight, @patientID, @mcID)";
          cmd.Parameters.AddWithValue("@aDate", txtDate.Value);
          cmd.Parameters.AddWithValue("@aTime", txtTime.Value);
          cmd.Parameters.AddWithValue("@aContact", txtContact.Value.Trim());
          cmd.Parameters.AddWithValue("@aHeight", txtHeight.Value.Trim());
          cmd.Parameters.AddWithValue("@aWeight", txtWeight.Value.Trim());
          cmd.Parameters.AddWithValue("@patientID", txtpatientID.Value.Trim());
          cmd.Parameters.AddWithValue("@mcID", txtmcID.Value.Trim());
          

          【讨论】:

            猜你喜欢
            • 2015-03-30
            • 2012-02-24
            • 2014-06-20
            • 1970-01-01
            • 1970-01-01
            • 2015-04-10
            • 1970-01-01
            • 2020-05-20
            • 2017-03-30
            相关资源
            最近更新 更多