数据集null问题 [英] Data set null problem
问题描述
亲爱的先生,我想通过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屋!