ติดปัญหาเรื่อง DateTime มี DateTime อยู่สองตัว ไม่ลง database
ด้านบนเปงภาพโปรแกม ที่ต้อรบันทึกวันที่ทั้งสองอัน แต่บันทึกไม่ได้ พอบันทึกวันที่แค่อันใดอันหนึ่งแล้วมันได้
ด้านล่างคือerrorที่ฟ้อง
โค้ดนะคะ ที่เขียน
Code (C#)
private void cmdSave_Click(object sender, EventArgs e)
{
MaxId();
if (MessageBox.Show("คุณต้องการบันทึกรายการสั่งซื้อสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
{
tr = Conn.BeginTransaction();
try
{
string sqlSave;
sb.Remove(0, sb.Length);
sb.Append("INSERT INTO [Receive Order] (ROId,RODate,CustomerId,ROSDate )");
sb.Append(" VALUES (@ROId,@RODate,@CustomerId,@ROSDate)");
sqlSave = sb.ToString();
com.Parameters.Clear();
com.Transaction = tr;
com.CommandText = sqlSave;
com.Parameters.Add("@ROId", SqlDbType.Int).Value = txtorder.Text.Trim();
com.Parameters.Add("@RODate", SqlDbType.DateTime).Value = dtOrderDate.Value.ToString("dd/MM/yyyy");
com.Parameters.Add("@CustomerId", SqlDbType.NVarChar).Value = intCustomerId.ToString();
com.Parameters.Add("@ROSDate", SqlDbType.DateTime).Value = dtShipDate.Value.ToString("dd/MM/yyyy");
com.ExecuteNonQuery();
tr.Commit();
ClearProductList();
ClearProductDetails();
MaxId();
}
catch (Exception ex)
{
MessageBox.Show("ไม่สามารถบันทึกรายการสั่งซื้อได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning);
cmdSave.Focus();
tr.Rollback();
}
}
}
Tag : .NET, Ms SQL Server 2008, C#, Windows
Date :
2013-05-30 13:45:22
By :
yhong_k
View :
1045
Reply :
13
Code (C#)
com.Parameters.Add("@ROId", SqlDbType.Int).Value = txtorder.Text.Trim();
com.Parameters.Add("@RODate", dtOrderDate.Value.ToString("dd/MM/yyyy"));
com.Parameters.Add("@CustomerId", SqlDbType.NVarChar).Value = intCustomerId.ToString();
com.Parameters.Add("@ROSDate", dtShipDate.Value.ToString("dd/MM/yyyy"));
Date :
2013-05-30 13:51:37
By :
CPU4Core
ไม่ทราบว่ามันผิดตรงบรรทัดไหนคะ
Date :
2013-05-30 13:55:25
By :
yhong_k
เอาไปใส่แทน บรรทัดที่ 22-25 ในโค๊ดของคุณดูครับ
Date :
2013-05-30 14:06:52
By :
CPU4Core
มันฟ้องerrorคะ
ช่วยดูหน่อยนะคะ
Date :
2013-05-30 14:13:16
By :
yhong_k
ใน DB ฟิวด์ @RODate @ROSDate นี่เป็นใช้เป็น DataType อะไรหรอครับ
Date :
2013-05-30 14:17:12
By :
CPU4Core
ใช้เป็น Date timeคะ
Date :
2013-05-30 14:43:29
By :
yhong_k
อืมมมม ทำไมไม่ได้หว่าาา พอดีผมไม่มี MSSQL ด้วยสิ T,,T แล้วแบบนี้ละครับ
Code (C#)
com.Parameters.AddWithValue("@ROId", txtorder.Text.Trim());
com.Parameters.AddWithValue("@RODate", dtOrderDate.Value.ToString("dd/MM/yyyy"));
com.Parameters.AddWithValue("@CustomerId", intCustomerId.ToString());
com.Parameters.AddWithValue("@ROSDate", dtShipDate.Value.ToString("dd/MM/yyyy"));
Date :
2013-05-30 15:18:30
By :
CPU4Core
ไม่ได้คะ
Date :
2013-05-30 16:01:29
By :
yhong_k
งั้นลองดูอันนี้นะครับ
http://www.pro99.net/blogs/?p=674
Date :
2013-05-30 16:06:30
By :
CPU4Core
ลองไม่ต้อง convert ดูครับว่าได้ไหม
จาก http://stackoverflow.com/questions/6530536/date-time-conversion-problem-when-inserting-data-into-sql-database
Code (VB.NET)
Dim a As String
a = "INSERT INTO tblVisitor(Name, Sex, TimeIn, EnterDate)
VALUES(@Name, @Sex, @TimeIn, @EnterDate)"
myCommand = New SqlCommand(a, myConnection)
myCommand.Parameters.AddWithValue("@Name",txtName.Text)
myCommand.Parameters.AddWithValue("@Sex",cboSex.Text)
myCommand.Parameters.AddWithValue("@TimeIn",DateTime.Now)
myCommand.Parameters.AddWithValue("@EnterDate",DateTime.Parse(cboEnterDate.Text))
myCommand.ExecuteNonQuery()
Date :
2013-05-30 16:07:04
By :
fonfire
ขอบคุณพี่ทุกๆคนนะคะ
ได้แล้วคะ หนู ไม่ได้convert ก้อเลยผ่านคะ
Date :
2013-05-30 16:43:56
By :
yhong_k
Load balance : Server 00