dsQuyMst.Tables["QuyMst"].Rows[0]["SHDOCO"] = "1111";//这句报错(未将对象引用设置到对象的实例。)
这知道是什么原因?
高人指点~~~using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;public partial class P81001A : System.Web.UI.Page
{
DataSet dsQuyMst;
// SqlDataAdapter da;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
LoadData();
}
//Menu1_MenuItemClick(object,e);
//DropDownList1_SelectedIndexChanged(object,e);
} private void LoadData()
{
DataSet ds = new DataSet();//
SqlConnection con = new SqlConnection();
con.ConnectionString = GetConnectionStr();
con.Open();
string strsql = "select SHTYPENO,SHTYPENAME from f81101";
SqlCommand sqlcmd = new SqlCommand(strsql, con);
//SqlDataReader dr = sqlcmd.EndExecuteReader();// new SqlDataReader();
SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
da.Fill(ds, "bustype");
for (int i = -1; i <= ds.Tables["bustype"].Rows.Count - 1; i++)
{
ListItem litem = new ListItem();
if (i == -1)
{
litem.Text = "请选择商品类型";
litem.Value = "";
DropDownList1.Items.Add(litem);
}
else
{
litem.Text = ds.Tables[0].Rows[i][1].ToString();
litem.Value = ds.Tables[0].Rows[i][0].ToString();
DropDownList1.Items.Add(litem);
}
}
strsql = "select * from f81111";
sqlcmd.CommandText = strsql;
da.SelectCommand = sqlcmd;
da.Fill(ds, "aa"); //外包或自有
for (int i = 0; i <= ds.Tables["aa"].Rows.Count - 1; i++)
{
ListItem litem = new ListItem();
litem.Text = ds.Tables["aa"].Rows[i][1].ToString();
litem.Value = ds.Tables["aa"].Rows[i][0].ToString();
DropDownList2.Items.Add(litem);
} DropDownList1.DataBind();
DropDownList2.DataBind();
//售后单主表
strsql = "select * from f81001 where 1=2";
sqlcmd.CommandText = strsql;
da.SelectCommand = sqlcmd;
dsQuyMst = new DataSet();
da.Fill(dsQuyMst, "QuyMst");
DataTable dt = new DataTable();
dt = dsQuyMst.Tables["QuyMst"];
DataRow dr;
dr = dt.NewRow();
//dr["SHKCOO"]="00888";
//dr["SHDOCO"] = "";
dt.Rows.Add(dr);
FormView1.DataSource = dsQuyMst.Tables["QuyMst"];
FormView1.DataBind();
//手机表
con.Close();
}
private static string GetConnectionStr()
{
string ss = ConfigurationManager.ConnectionStrings["SHMISConnectionString2"].ConnectionString.ToString();
// con.ConnectionString = ss;
return ss;
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//if (DropDownList1.SelectedValue == "A1")
//{ // List<MenuItem> listm = new List<MenuItem>();//创建类列表,用于保存移除的菜单项
// listm.Add(Menu1.Items[1]);
// //移动listm中的菜单项
// foreach (MenuItem m in listm)
// {
// Menu1.Items.Remove(m);
// }
//}
}
protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
int index = int.Parse(e.Item.Value);
this.MultiView1.ActiveViewIndex = index;
}
protected void Button1_Click(object sender, EventArgs e)
{
string constr=GetConnectionStr();
SqlConnection con=new SqlConnection(constr);
con.Open();
SqlCommand sqlcmd = new SqlCommand("SP_GenerateDocNoF0905", con);
// 设置SqlCommand的属性为存储过程
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Parameters.Add("@Dct", SqlDbType.Char, 2);
sqlcmd.Parameters.Add("@Doco", SqlDbType.Int, 8);
//set return value direction
sqlcmd.Parameters["@Dct"].Direction=ParameterDirection.Input;
sqlcmd.Parameters["@Doco"].Direction = ParameterDirection.Output;
// 返回值
sqlcmd.Parameters["@Dct"].Value = "1S";
int rowsAffected = sqlcmd.ExecuteNonQuery();//行影响值
//int result = sqlcmd.parameters["Returnvalue"].value;//存储过程返回值
int newID = int.Parse( sqlcmd.Parameters["@Doco"].Value.ToString());
//功能挺强的吧,可以得到三个值,分别是行影响值,存储过程返回值,新的ID值。 dsQuyMst.Tables["QuyMst"].Rows[0]["SHDOCO"] = "1111";//这句报错(未将对象引用设置到对象的实例。)
Response.Write("Doco:" + newID.ToString()); }
private void UpdateData()
{ UpdateQuyMst(dsQuyMst); }
private void UpdateQuyMst(DataSet ds)
{
string constr = GetConnectionStr();
string ss = "Insert into F81001(SHDOCO,SHDCTO,SHBUSTYPE,SHLITM," +
"SHDSC1,SHLOTN,SHCLTN,SHCLT,SHINST,SHTYPE) values(" +
"@SHDOCO," +
"@SHDCTO, @SHBusType," +
"@SHLITM, @SHDSC1," +
"@SHLOTN," +
"@SHCLTN," +
"@SHCLT," +
"@SHINST,@SHTYPE)";
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand sqlcmd = new SqlCommand(ss,con);
SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
// ds.Tables["QuyMst"].Rows[0]["SHDOCO"] = newID;
da.InsertCommand = sqlcmd;
da.InsertCommand.Parameters.Add("@SHDOCO", SqlDbType.Int, 8, "SHDOCO");
da.InsertCommand.Parameters.Add("@SHDCTO", SqlDbType.Char, 2, "SHDCTO");
da.InsertCommand.Parameters.Add("@SHBUSTYPE", SqlDbType.Int, 4, "SHBUSTYPE");
da.InsertCommand.Parameters.Add("@SHLITM", SqlDbType.Int, 8, "SHLITM");
da.InsertCommand.Parameters.Add("@SHDSC1", SqlDbType.Int, 8, "SHDSC1");
da.InsertCommand.Parameters.Add("@SHLOTN", SqlDbType.Int, 8, "SHLOTN");
da.InsertCommand.Parameters.Add("@SHCLTN", SqlDbType.Int, 8, "SHCLTN");
da.InsertCommand.Parameters.Add("@SHCLT", SqlDbType.Int, 8, "SHCLT");
da.InsertCommand.Parameters.Add("@SHINST", SqlDbType.VarChar, 20, "SHINST");
da.InsertCommand.Parameters.Add("@SHTYPE", SqlDbType.Char, 2, "SHTYPE"); //ds.Tables["QuyMst"].Rows[0]["SHDOCO"] = newID;
da.Update(ds.Tables["QuyMst"]);
}}
这知道是什么原因?
高人指点~~~using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;public partial class P81001A : System.Web.UI.Page
{
DataSet dsQuyMst;
// SqlDataAdapter da;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
LoadData();
}
//Menu1_MenuItemClick(object,e);
//DropDownList1_SelectedIndexChanged(object,e);
} private void LoadData()
{
DataSet ds = new DataSet();//
SqlConnection con = new SqlConnection();
con.ConnectionString = GetConnectionStr();
con.Open();
string strsql = "select SHTYPENO,SHTYPENAME from f81101";
SqlCommand sqlcmd = new SqlCommand(strsql, con);
//SqlDataReader dr = sqlcmd.EndExecuteReader();// new SqlDataReader();
SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
da.Fill(ds, "bustype");
for (int i = -1; i <= ds.Tables["bustype"].Rows.Count - 1; i++)
{
ListItem litem = new ListItem();
if (i == -1)
{
litem.Text = "请选择商品类型";
litem.Value = "";
DropDownList1.Items.Add(litem);
}
else
{
litem.Text = ds.Tables[0].Rows[i][1].ToString();
litem.Value = ds.Tables[0].Rows[i][0].ToString();
DropDownList1.Items.Add(litem);
}
}
strsql = "select * from f81111";
sqlcmd.CommandText = strsql;
da.SelectCommand = sqlcmd;
da.Fill(ds, "aa"); //外包或自有
for (int i = 0; i <= ds.Tables["aa"].Rows.Count - 1; i++)
{
ListItem litem = new ListItem();
litem.Text = ds.Tables["aa"].Rows[i][1].ToString();
litem.Value = ds.Tables["aa"].Rows[i][0].ToString();
DropDownList2.Items.Add(litem);
} DropDownList1.DataBind();
DropDownList2.DataBind();
//售后单主表
strsql = "select * from f81001 where 1=2";
sqlcmd.CommandText = strsql;
da.SelectCommand = sqlcmd;
dsQuyMst = new DataSet();
da.Fill(dsQuyMst, "QuyMst");
DataTable dt = new DataTable();
dt = dsQuyMst.Tables["QuyMst"];
DataRow dr;
dr = dt.NewRow();
//dr["SHKCOO"]="00888";
//dr["SHDOCO"] = "";
dt.Rows.Add(dr);
FormView1.DataSource = dsQuyMst.Tables["QuyMst"];
FormView1.DataBind();
//手机表
con.Close();
}
private static string GetConnectionStr()
{
string ss = ConfigurationManager.ConnectionStrings["SHMISConnectionString2"].ConnectionString.ToString();
// con.ConnectionString = ss;
return ss;
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//if (DropDownList1.SelectedValue == "A1")
//{ // List<MenuItem> listm = new List<MenuItem>();//创建类列表,用于保存移除的菜单项
// listm.Add(Menu1.Items[1]);
// //移动listm中的菜单项
// foreach (MenuItem m in listm)
// {
// Menu1.Items.Remove(m);
// }
//}
}
protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
int index = int.Parse(e.Item.Value);
this.MultiView1.ActiveViewIndex = index;
}
protected void Button1_Click(object sender, EventArgs e)
{
string constr=GetConnectionStr();
SqlConnection con=new SqlConnection(constr);
con.Open();
SqlCommand sqlcmd = new SqlCommand("SP_GenerateDocNoF0905", con);
// 设置SqlCommand的属性为存储过程
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Parameters.Add("@Dct", SqlDbType.Char, 2);
sqlcmd.Parameters.Add("@Doco", SqlDbType.Int, 8);
//set return value direction
sqlcmd.Parameters["@Dct"].Direction=ParameterDirection.Input;
sqlcmd.Parameters["@Doco"].Direction = ParameterDirection.Output;
// 返回值
sqlcmd.Parameters["@Dct"].Value = "1S";
int rowsAffected = sqlcmd.ExecuteNonQuery();//行影响值
//int result = sqlcmd.parameters["Returnvalue"].value;//存储过程返回值
int newID = int.Parse( sqlcmd.Parameters["@Doco"].Value.ToString());
//功能挺强的吧,可以得到三个值,分别是行影响值,存储过程返回值,新的ID值。 dsQuyMst.Tables["QuyMst"].Rows[0]["SHDOCO"] = "1111";//这句报错(未将对象引用设置到对象的实例。)
Response.Write("Doco:" + newID.ToString()); }
private void UpdateData()
{ UpdateQuyMst(dsQuyMst); }
private void UpdateQuyMst(DataSet ds)
{
string constr = GetConnectionStr();
string ss = "Insert into F81001(SHDOCO,SHDCTO,SHBUSTYPE,SHLITM," +
"SHDSC1,SHLOTN,SHCLTN,SHCLT,SHINST,SHTYPE) values(" +
"@SHDOCO," +
"@SHDCTO, @SHBusType," +
"@SHLITM, @SHDSC1," +
"@SHLOTN," +
"@SHCLTN," +
"@SHCLT," +
"@SHINST,@SHTYPE)";
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand sqlcmd = new SqlCommand(ss,con);
SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
// ds.Tables["QuyMst"].Rows[0]["SHDOCO"] = newID;
da.InsertCommand = sqlcmd;
da.InsertCommand.Parameters.Add("@SHDOCO", SqlDbType.Int, 8, "SHDOCO");
da.InsertCommand.Parameters.Add("@SHDCTO", SqlDbType.Char, 2, "SHDCTO");
da.InsertCommand.Parameters.Add("@SHBUSTYPE", SqlDbType.Int, 4, "SHBUSTYPE");
da.InsertCommand.Parameters.Add("@SHLITM", SqlDbType.Int, 8, "SHLITM");
da.InsertCommand.Parameters.Add("@SHDSC1", SqlDbType.Int, 8, "SHDSC1");
da.InsertCommand.Parameters.Add("@SHLOTN", SqlDbType.Int, 8, "SHLOTN");
da.InsertCommand.Parameters.Add("@SHCLTN", SqlDbType.Int, 8, "SHCLTN");
da.InsertCommand.Parameters.Add("@SHCLT", SqlDbType.Int, 8, "SHCLT");
da.InsertCommand.Parameters.Add("@SHINST", SqlDbType.VarChar, 20, "SHINST");
da.InsertCommand.Parameters.Add("@SHTYPE", SqlDbType.Char, 2, "SHTYPE"); //ds.Tables["QuyMst"].Rows[0]["SHDOCO"] = newID;
da.Update(ds.Tables["QuyMst"]);
}}
调试的时候怎么能看出来?
在按钮ONCLICK事件中写吗?
我的QQ:258041655