带有复选框和文本框值的asp.net插入数据库 [英] asp.net with checkbox and textbox values insert into db

查看:90
本文介绍了带有复选框和文本框值的asp.net插入数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public partial class _Default : System.Web.UI.Page
{
    string str = ConfigurationManager.AppSettings["constr"].ToString();
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        insertdeatails();
    }
    // string message = string.Empty;

    protected void insertdeatails()
    {
       
            SqlConnection con = new SqlConnection(str);
          
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_ONSHOP";
            cmd.CommandType = CommandType.StoredProcedure;
            

            SqlParameter name = new SqlParameter("@NAME", SqlDbType.VarChar, 50);
            SqlParameter age = new SqlParameter("@AGE", SqlDbType.Int);
            SqlParameter phoneno = new SqlParameter("@PHONE_NO", SqlDbType.VarChar, 50);
            SqlParameter interestefields = new SqlParameter("@INTERESTED_FIELDS", SqlDbType.VarChar, 50);

            SqlParameter regid = new SqlParameter("@REG_ID", SqlDbType.Int);
            regid.Direction = ParameterDirection.Output;

            SqlParameter success = new SqlParameter("@SUCCESS_PARAMETER", SqlDbType.Int);
            success.Direction = ParameterDirection.Output;

            SqlParameter error = new SqlParameter("@ERROR_DESC", SqlDbType.VarChar, 50);
            error.Direction = ParameterDirection.Output;
            message = (string)cmd.Parameters["@ERROR_DESC"].Value;

           

           
            name.Value = TextBox1.Text.Trim();
            age.Value = Convert.ToInt32(TextBox2.Text);
            phoneno.Value =TextBox3.Text;
            interestefields.Value = CheckBoxList1.SelectedValue;

            cmd.Parameters.Add(name);
            cmd.Parameters.Add(age);
            cmd.Parameters.Add(phoneno);
            cmd.Parameters.Add(interestefields);

            string insertfields = "";
            for (int i = 0; i < CheckBoxList1.Items.Count; i++)
            {
                if (CheckBoxList1.Items[i].Selected)
                {
                    insertfields += CheckBoxList1.Items[i].Value + ",";
                }
            }
            insertfields = insertfields.TrimEnd(',');


            try
            {
                  con.Open();
                  
                  cmd.ExecuteNonQuery();
            }
              catch (Exception e)
            {
                throw e;
            }
            finally
            {
                con.Close();
                con.Dispose();
            }
           

          
           
            //cmd.Parameters.Add(new SqlParameter("@NAME", TextBox1.Text.ToString()));
            //cmd.Parameters.Add(new SqlParameter("@AGE", TextBox2.Text.ToString()));
            //cmd.Parameters.Add(new SqlParameter("@PHONE_NO", TextBox3.Text.ToString()));
            //cmd.Parameters.Add(new SqlParameter("@INTERESTED_FIELDS", CheckBoxList1.SelectedValue.ToString()));

            //string insertfileds = "";
            //for (int i = 0; i < CheckBoxList1.Items.Count; i++)
            //{
            //    if (CheckBoxList1.Items[i].Selected)
            //    {
            //        insertfileds += CheckBoxList1.Items[i].Value + ",";
            //    }
            //}
            //insertfileds = insertfileds.TrimEnd(',');
            //cmd.Connection = con;
            //cmd.ExecuteNonQuery();
            //foreach (ListItem item in CheckBoxList1.Items)
            //{
            //    string sql = string.Format("insert into CUSTEMER_DETAILS (INTERESTED_FIELDS) values ('{0}')", item.Selected);
            //    SqlCommand cmd1 = new SqlCommand(sql, con);
            //    cmd1.CommandType = System.Data.CommandType.Text;
            //    cmd1.ExecuteNonQuery();
            //}

            //cmd.Parameters.Add(new SqlParameter("@REG_ID", SqlDbType.Int));
            //cmd.Parameters["@REG_ID"].Direction = ParameterDirection.Output;

            //cmd.Parameters.Add(new SqlParameter("@SUCCESS_PARAMETER", SqlDbType.Int));
            //cmd.Parameters["@SUCCESS_PARAMETER"].Direction = ParameterDirection.Output;


            //cmd.Parameters.Add("@ERROR_DESC", SqlDbType.Char, 50);
            //cmd.Parameters["@ERROR_DESC"].Direction = ParameterDirection.Output;
            //message = (string)cmd.Parameters["@ERROR_DESC"].Value;

     
            
      
        

    }


   
    protected void Button2_Click1(object sender, EventArgs e)
    {
        TextBox1.Text = "";
        TextBox2.Text = "";
        TextBox3.Text = "";
        foreach (ListItem list in CheckBoxList1.Items)
        {
            list.Selected = false;
        }
        
       
    }


当我在asp.net c#中执行此编码时,出现以下错误

ExecuteNonQuery:连接属性尚未初始化.


when i execute this coding in asp.net c# i got the below error

ExecuteNonQuery: Connection property has not been initialized.

推荐答案

您缺少..
you missing..
cmd.Connection = con;


您应该在Try {}语句中使用它.


you should use it in your Try{} statement.



检查这一个
好吧,你正在构想
Hi ,
Check this one
Well you are conecction
using (SqlCommand Cmd = new SqlCommand("USP_ONSHOP ", Cn))
           {

           }


最好的问候
M.Mitwalli


Best Regards
M.Mitwalli


尝试以下
cmd.Connection = con;



检查此处是否在str变量中获得正确的连接字符串



check here that you get proper connection string in str variable


这篇关于带有复选框和文本框值的asp.net插入数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆