|
|
|
การใส่ค่าว่างของ integer ในฐานข้อมูล <font color=red>ช่วยดูโค้ดให้หน่อยนะค่ะ ต้องการส่งค่าว่างหรือ null ลงในฐานข้อมูล |
|
|
|
|
|
|
|
ช่วยดูโค้ดให้หน่อยนะค่ะ ต้องการส่งค่าว่างหรือ null ลงในฐานข้อมูล จะต้องทำยังไง
protected void Button3_Click(object sender, EventArgs e)
{
ListItemCollection listLine = new ListItemCollection();
listLine.Add(new ListItem(DropDownList11.SelectedItem.Text, DropDownList11.SelectedValue));
listLine.Add(new ListItem(DropDownList12.SelectedItem.Text, DropDownList12.SelectedValue));
listLine.Add(new ListItem(DropDownList13.SelectedItem.Text, DropDownList13.SelectedValue));
listLine.Add(new ListItem(DropDownList14.SelectedItem.Text, DropDownList14.SelectedValue));
listLine.Add(new ListItem(DropDownList15.SelectedItem.Text, DropDownList15.SelectedValue));
listLine.Add(new ListItem(DropDownList16.SelectedItem.Text, DropDownList16.SelectedValue));
listLine.Add(new ListItem(DropDownList17.SelectedItem.Text, DropDownList17.SelectedValue));
listLine.Add(new ListItem(DropDownList18.SelectedItem.Text, DropDownList18.SelectedValue));
listLine.Add(new ListItem(DropDownList19.SelectedItem.Text, DropDownList19.SelectedValue));
listLine.Add(new ListItem(DropDownList20.SelectedItem.Text, DropDownList20.SelectedValue));
listLine.Add(new ListItem(DropDownList21.SelectedItem.Text, DropDownList21.SelectedValue));
listLine.Add(new ListItem(DropDownList22.SelectedItem.Text, DropDownList22.SelectedValue));
listLine.Add(new ListItem(DropDownList33.SelectedItem.Text, DropDownList33.SelectedValue));
DataSet ds = new DataSet();
DataTable dt = new DataTable();
foreach (ListItem item in listLine)
{
dt.Columns.Add(item.Text);
}
ds.Tables.Add(dt);
ds.AcceptChanges();
GridView3.DataSource = listLine;
GridView3.DataBind();
//นำค่าจาก gridview เก็บในฐานข้อมูล
SqlConnection myConn = new SqlConnection(WebConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
if (myConn.State == ConnectionState.Closed)
myConn.Open();
string sql = "";
SqlTransaction tr = myConn.BeginTransaction();
SqlCommand cmd = myConn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.Transaction = tr;
int F01;
int F02;
int F03;
int F04;
int F05;
int F06;
int F07;
int F08;
int F09;
int F10;
int F11;
int F12;
int F13;
F01 = int.Parse(GridView3.Rows[0].Cells[3].Text.Trim());
F02 = int.Parse(GridView3.Rows[1].Cells[3].Text.Trim());
F03 = int.Parse(GridView3.Rows[2].Cells[3].Text.Trim());
F04 = int.Parse(GridView3.Rows[3].Cells[3].Text.Trim());
F05 = int.Parse(GridView3.Rows[4].Cells[3].Text.Trim());
F06 = int.Parse(GridView3.Rows[5].Cells[3].Text.Trim());
F07 = int.Parse(GridView3.Rows[6].Cells[3].Text.Trim());
F08 = int.Parse(GridView3.Rows[7].Cells[3].Text.Trim());
F09 = int.Parse(GridView3.Rows[8].Cells[3].Text.Trim());
F10 = int.Parse(GridView3.Rows[9].Cells[3].Text.Trim());
F11 = int.Parse(GridView3.Rows[10].Cells[3].Text.Trim());
F12 = int.Parse(GridView3.Rows[11].Cells[3].Text.Trim());
F13 = int.Parse(GridView3.Rows[12].Cells[3].Text.Trim());
cmd.CommandText = "Insert Into VendorExportTemplate (VendorNo,SourceID,ExportOption,F01,F02,F03,F04,F05,F06,F07,F08,F09,F10,F11,F12,F13) " +
" values ('" + DVendor.SelectedValue + "','L','UserDefine','" + F01 + "','" + F02 + "','" + F03 + "','" + F04 + "','" + F05 + "','" + F06 + "','" + F07 + "','" + F08 + "','" + F09 + "','" + F10 + "','" + F11 + "','" + F12 + "','" + F13 + "')";
cmd.ExecuteNonQuery();
tr.Commit();
}
Tag : - - - -
|
|
|
|
|
|
Date :
2010-05-06 14:23:48 |
By :
beauty.coe |
View :
1700 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียน function ไว้ replace ค่า NULL ให้เป็น 0 น่ะครับ
|
|
|
|
|
Date :
2010-05-06 16:17:48 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ให้เป็นศูนย์ไม่ได้ค่ะ เพราะมันจะทับซ้อนกับตัวแปรอื่น
|
|
|
|
|
Date :
2010-05-07 09:19:55 |
By :
beauty.coe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่าง int F13;
ปกติการ declare variable int จำเป็นต้องใส่ค่าให้มันก่อนนำไปใช้ เช่น int F13 = 0; หรือ int F13 = -1;
หรือถ้าประกาศตามด้านบน ก็ไม่ผิด แต่ก่อนที่จะนำไปใช้ ยังไงๆ ก็ต้องใส่ค่าให้มันก่อนนำไปใช้ได้
int F13;
F13 = -1; <<< แบบนี้เป็นต้น
F13 = int.Parse(GridView3.Rows[12].Cells[3].Text.Trim());
การใส่ค่าแบบนี้ int.Parse(GridView3.Rows[12].Cells[3].Text.Trim()); ยังไงๆ function int.Parse ก็ return ค่าไม่เป็น null เสมอ นอกจากจะ exception ไปเลย อย่างน้อยมันจะ return 0 หรือไม่ก็ -1
ดังนั้น ถามคุณก่อนว่า ถ้า F13 = 0; มันมีค่าจริงๆ แล้ว F13 = null; มันใส่ไม่ได้ครับ
คุณต้องตรวจสอบตั้งแต่ต้นเลยว่า GridView3.Rows[12].Cells[3].Text.Trim() มันเป็น String.Empty หรือเปล่า แล้วจึงใช้ query นี้แทน
cmd.CommandText = "Insert Into VendorExportTemplate (VendorNo,SourceID,ExportOption,F01,F02,F03,F04,F05,F06,F07,F08,F09,F10,F11,F12,F13) " +
" values ('" + DVendor.SelectedValue + "','L','UserDefine',@F01,@F02,@F03,@F04,@F05,@F06,@F07,@F08,@F09,@F10,@F11,@F12,@F13)";
cmd.Parameters.Add("@F013", SqlDbType.Int).Value = null;
cmd.ExecuteNonQuery();
หวังว่าคงเข้าใจ
|
|
|
|
|
Date :
2010-05-07 10:30:15 |
By :
numenoy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|