数据集null问题 [英] Data set null problem

查看:77
本文介绍了数据集null问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的先生,我想通过asp.net

将数据插入数据库的表中,但数据没有插入数据库......

i有编写以下代码:

 使用系统; 
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Web;
使用 System.Web.UI;
使用 System.Web.UI.WebControls;
使用 System.Data.SqlClient;
使用 System.Data;

public partial class 注册:System.Web.UI.Page
{
SqlConnection con = new SqlConnection( 数据源= LAPTOP-0800NRBO \\ SQL;初始目录= HealthCaareAdvisor;用户ID = sa;密码= nitinmca);
SqlCommand cmd;
DataSet ds,ds1,ds2,ds3 = new DataSet();
SqlDataAdapter sda,sda1,sda2,sda3;
public void show()
{
// ds = null;
sda = new SqlDataAdapter( 从注册中选择性别,con);
sda.Fill(ds);
DrdpGender.DataSource = ds;
DrdpGender.DataTextField = ds.Tables [ 0 ]。列[ 0 ]。ToString( );
DrdpGender.DataValueField = ds.Tables [ 0 ]。列[ 0 ]。ToString( );
DrdpGender.DataBind();
// ds1 = null;
sda1 = new SqlDataAdapter( 从注册中选择城市,con);
sda1.Fill(ds1);
DrdpCity.DataSource = ds1;
DrdpCity.DataTextField = ds.Tables [ 0 ]。列[ 1 ]。ToString( );
DrdpCity.DataValueField = ds.Tables [ 0 ]。列[ 1 ]。ToString( );
DrdpCity.DataBind();
// ds2 = null;
sda2 = new SqlDataAdapter( 从注册中选择资格,con);
sda2.Fill(ds2);
DrdpQualification.DataSource = ds2;
DrdpQualification.DataTextField = ds.Tables [ 0 ]。列[ 2 ]。ToString( );
DrdpQualification.DataValueField = ds.Tables [ 0 ]。列[ 2 ]。ToString( );
DrdpQualification.DataBind();
// ds3 = null;
sda3 = new SqlDataAdapter( 从注册中选择职业,con);
sda3.Fill(ds3);
DrdpOccupation.DataSource = ds3;
DrdpOccupation.DataTextField = ds.Tables [ 0 ]。列[ 3 ]。ToString( );
DrdpOccupation.DataValueField = ds.Tables [ 0 ]。列[ 3 ]。ToString( );
DrdpOccupation.DataBind();
}

public void fillgrid()
{
con.Open();
DataSet dsGridview = new DataSet();
SqlDataAdapter sdaGridview = new SqlDataAdapter( select *来自注册,con);
sdaGridview.Fill(dsGridview);
GridView1.DataSource = dsGridview;
GridView1.DataBind();
}

受保护 void Page_Load( object sender,EventArgs e)
{
if (!Page.IsPostBack)
{
show();
fillgrid();
}
}

受保护 void BtnRegister_Click( object sender,EventArgs e)
{
try
{
con.Open();
string str = 插入注册值(@的RegID,@名称,@ LName的,@ DOB,@性别,@ EmailP,@电子邮件,@ ContactP,@触点,@地址,@市@资格,@职业,@密码);
cmd.Parameters.AddWithValue( @ RegID,TxtregID.Text);
cmd.Parameters.AddWithValue( @ Name,Txtname.Text);
cmd.Parameters.AddWithValue( @ LName,TxtLname.Text);
cmd.Parameters.AddWithValue( @ DOB,DrdpGender.SelectedItem.Text);
cmd.Parameters.AddWithValue( @ EmailP,txtEmailP.Text);
cmd.Parameters.AddWithValue( @ EmailS,TxtEmailS.Text);
cmd.Parameters.AddWithValue( @ ContactP,TxtContactP.Text);
cmd.Parameters.AddWithValue( @ ContactS,TxtContactS.Text);
cmd.Parameters.AddWithValue( @ Address,TxtAddr.Text);
cmd.Parameters.AddWithValue( @ City,DrdpCity.SelectedItem.Text);
cmd.Parameters.AddWithValue( @ Qualification,DrdpQualification.SelectedItem.Text);
cmd.Parameters.AddWithValue( @ Occupation,DrdpOccupation.SelectedItem.Text);
cmd.Parameters.AddWithValue( @ Password,txtpass);

cmd.ExecuteNonQuery();
show();
fillgrid();
Response.Write( 记录插入);
}

catch (SqlException ex)
{
Response.Write( 抱歉异常发生 + ex.Message);
}
最后
{
con.Close();
}
}
}



但它显示以下异常错误...

价值不能为空。

参数名称:dataSet



这里生成异常的代码片段:

< pre lang =text> // ds = null;
第19行:sda = new SqlDataAdapter(从注册中选择性别,con);
第20行:sda.Fill(ds);
第21行:DrdpGender.DataSource = ds;
第22行:DrdpGender.DataTextField = ds.Tables [0] .Columns [0] .ToString();





我尝试了什么:



i已经尝试了下拉列表数据绑定而不是结果

解决方案

将所有下拉列表的格式更改为以下格式



 sda =  new  SqlDataAdapter( 从注册中选择性别,con) ; 
sda.Fill(ds);
DrdpGender.DataSource = ds;
DrdpGender.DataTextField = 性别
DrdpGender.DataValueField = 性别
DrdpGender.DataBind( );





不要使用

  ds.Tables [  0 ]。列[ 1 ]。ToString(); 
ds.Tables [ 0 ]。列[ 2 ]。ToString();
ds.Tables [ 0 ]。列[ 3 ]。ToString();





启动sql命令



  string  str =  插入注册值(@的RegID,@名称,@ LName的,@ DOB,@性别,@ EmailP,@电子邮件,@ ContactP,@触点,@地址,@市@资格,@职业,@密码); 
cmd = new SqlCommand(str,con);


dear sir i want to insert the data in the tables in the database through the asp.net
but data is not inserted in the database...
i have written the following code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

public partial class Registration : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection("Data Source=LAPTOP-0800NRBO\\SQL;Initial Catalog=HealthCaareAdvisor;User ID=sa;Password=nitinmca");
    SqlCommand cmd;
    DataSet ds,ds1,ds2,ds3 = new DataSet();
    SqlDataAdapter sda,sda1,sda2,sda3;
    public void show()
    {
        //ds = null;
        sda = new SqlDataAdapter("select Gender from Registration", con);
        sda.Fill(ds);
        DrdpGender.DataSource = ds;
        DrdpGender.DataTextField = ds.Tables[0].Columns[0].ToString();
        DrdpGender.DataValueField = ds.Tables[0].Columns[0].ToString();
       DrdpGender.DataBind();
       // ds1 = null;
        sda1 = new SqlDataAdapter("select city from Registration", con);
        sda1.Fill(ds1);
        DrdpCity.DataSource = ds1;
        DrdpCity.DataTextField = ds.Tables[0].Columns[1].ToString();
        DrdpCity.DataValueField = ds.Tables[0].Columns[1].ToString();
        DrdpCity.DataBind();
       // ds2 = null;
        sda2 = new SqlDataAdapter("select qualification from Registration", con);
        sda2.Fill(ds2);
        DrdpQualification.DataSource = ds2;
        DrdpQualification.DataTextField = ds.Tables[0].Columns[2].ToString();
        DrdpQualification.DataValueField = ds.Tables[0].Columns[2].ToString();
        DrdpQualification.DataBind();
       // ds3 = null;
        sda3 = new SqlDataAdapter("Select Occupation  from Registration", con);
        sda3.Fill(ds3);
        DrdpOccupation.DataSource = ds3;
        DrdpOccupation.DataTextField = ds.Tables[0].Columns[3].ToString();
        DrdpOccupation.DataValueField = ds.Tables[0].Columns[3].ToString();
        DrdpOccupation.DataBind();        
    }

    public void fillgrid()
    {
        con.Open();
        DataSet dsGridview = new DataSet();
        SqlDataAdapter sdaGridview = new SqlDataAdapter("select * from Registration", con);
        sdaGridview.Fill(dsGridview);
        GridView1.DataSource = dsGridview;
        GridView1.DataBind();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            show();
            fillgrid();
        }
    }

    protected void BtnRegister_Click(object sender, EventArgs e)
    {
        try
        {
            con.Open();
            string str = "insert into Registration values(@RegID,@Name,@LName,@DOB,@gender,@EmailP,@EmailS,@ContactP,@ContactS,@Address,@City,@Qualification,@Occupation,@Password)";
            cmd.Parameters.AddWithValue("@RegID", TxtregID.Text);
            cmd.Parameters.AddWithValue("@Name", Txtname.Text);
            cmd.Parameters.AddWithValue("@LName", TxtLname.Text);
            cmd.Parameters.AddWithValue("@DOB", DrdpGender.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@EmailP", txtEmailP.Text);
            cmd.Parameters.AddWithValue("@EmailS", TxtEmailS.Text);
            cmd.Parameters.AddWithValue("@ContactP", TxtContactP.Text);
            cmd.Parameters.AddWithValue("@ContactS", TxtContactS.Text);
            cmd.Parameters.AddWithValue("@Address", TxtAddr.Text);
            cmd.Parameters.AddWithValue("@City", DrdpCity.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@Qualification", DrdpQualification.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@Occupation", DrdpOccupation.SelectedItem.Text);
            cmd.Parameters.AddWithValue("@Password", txtpass);

            cmd.ExecuteNonQuery();
            show();
            fillgrid();
            Response.Write("Record inserted");
        }

        catch (SqlException ex)
        {
            Response.Write("sorry Exception occured" + ex.Message);
        }
        finally
        {
            con.Close();
        }
    }
}


but it is showing the follwoing exception error...
Value cannot be null.
Parameter name: dataSet

here the code snippet that is generating exception:

 //ds = null;
Line 19:         sda = new SqlDataAdapter("select Gender from Registration", con);
Line 20:         sda.Fill(ds);
Line 21:         DrdpGender.DataSource = ds;
Line 22:         DrdpGender.DataTextField = ds.Tables[0].Columns[0].ToString();



What I have tried:

i have tried the dropdown list databinding but not result

解决方案

Change it to below format for all the dropdownlists

sda = new SqlDataAdapter("select Gender from Registration", con);
sda.Fill(ds);
DrdpGender.DataSource = ds;
DrdpGender.DataTextField = "Gender"
DrdpGender.DataValueField = "Gender"
DrdpGender.DataBind();



dont use

 ds.Tables[0].Columns[1].ToString();
          ds.Tables[0].Columns[2].ToString();
          ds.Tables[0].Columns[3].ToString();  



Initiate the sql command

string str = "insert into Registration values(@RegID,@Name,@LName,@DOB,@gender,@EmailP,@EmailS,@ContactP,@ContactS,@Address,@City,@Qualification,@Occupation,@Password)";
           cmd = new SqlCommand(str, con);


这篇关于数据集null问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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