 |
|
VB.NET SQL DATAGRID ตันมากครับ เพิ่งเริ่มมาทำงาน เครียดมากๆๆๆๆๆเลยครับ ช่วยหน่อยครับ ขอบคุณมากกกกกกครับ |
|
 |
|
|
 |
 |
|
คือผมเพิ่งมาเริ่มทำงาน แล้วเจ้านายสั่งให้ทำโปรแกรม ที่ Import text file เข้ามา แล้วบันทึกลงในฐานข้อมูล
โดยมีเงื่อนไขคือ ถ้าข้อมูล cells 0 1 2 เคยมีอยู่แล้ว ให้ทำการ อัพเดท cells 0 2 3 5 6 7
ถ้าไม่เคยมี ให้เพิ่มเข้าไปใหม่ทั้งแถว
แต่ผมติดตรง การตรวจสอบแถวที่เคย insert เข้ามาแล้ว ว่าเคยมีข้อมูล ที่กำลังจะ insert ไหม
และการสร้างเงื่อนไข
มึนไปหมดครับ เครียดมาก ช่วยหน่อยครับ ขอบคุณมากครับ
Code (VB.NET)
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
connect()
Dim num = DataGridView1.RowCount
num = num - 1
For i As Integer = 0 To num
Dim c1 = DataGridView1.Rows(i).Cells(0).Value
Dim c2 = DataGridView1.Rows(i).Cells(1).Value
Dim c3 = DataGridView1.Rows(i).Cells(2).Value
Dim c4 = DataGridView1.Rows(i).Cells(3).Value
Dim c5 As String = Date.Now.ToString("yyyyMMdd")
Dim c6 As String = Date.Now.ToString("hhmmss")
Dim c7 As String = Date.Now.ToString("yyyyMMdd")
Dim c8 As String = Date.Now.ToString("hhmmss")
sql = String.Format("Select Count (*) as QTY from Import where Country" = c1 And "[First Date]" = c2 And "[Final Date]" = c3)
If "QTY" <> 0 Then
sql = String.Format("Update Import SET Country " = c1, "[First Date]" = c2, "[Final Date] " = c3, "[Exchange Rate]" = c4, "[Update Date]" = c7, "[Update Time]" = c8)
Else
sql = String.Format("Insert into import values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')",
c1, c2, c3, c4, c5, c6, c7, c8)
End If
cmd = New SqlCommand(sql, cn)
cmd.ExecuteNonQuery()
Next
MsgBox("Saved successfully")
End Sub
Tag : .NET, Ms SQL Server 2008, VBScript, Win (Windows App), VS 2010 (.NET 4.x)
|
|
 |
 |
 |
 |
Date :
2016-07-06 12:15:23 |
By :
chanainut |
View :
1314 |
Reply :
26 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ให้โค้ดมาไม่ครบ รึ ว่าผมเข้าใจผิดไปเองครับ
Code (SQL)
sql = String.Format("Select Count (*) as QTY from Import where Country" = c1 And "[First Date]" = c2 And "[Final Date]" = c3)
If "QTY" <> 0 Then
sql มันยังไม่ Execute
"QTY" เขียนแบบนี้จริงๆเรอะครับ Error แหงมๆ
|
 |
 |
 |
 |
Date :
2016-07-06 13:47:49 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เช็ค
Code (SQL)
sql = String.Format("Select Count (*) as QTY from Import where Country" = c1 And "[First Date]" = c2 And "[Final Date]" = c3)
|
 |
 |
 |
 |
Date :
2016-07-06 15:11:09 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งานนี้ผมว่ายาวครับ ลองกลับไปดูพื้นฐานก่อนดีกว่า เดินหน้าไปไกลยิ่ง งง ใหญ่
แค่ If "QTY" <> 0 ก็จบแล้วครับ ต้องศึกษาพื้นฐานง่ายๆก่อน ค่อยใส่ logic ทาง business เข้าไป
|
 |
 |
 |
 |
Date :
2016-07-06 15:25:32 |
By :
mee079 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รายละเอียดของการตอบ ::
ตอนนี้ผมลองเทสโค้ด sql ที่ถูกต้องแล้วรันดูก่อน
sql = String.Format("SELECT COUNT(*) AS QTY FROM(Import) WHERE (Country = 'AUD') AND ([First Date] = '01072559') AND ([Final Date] = '31072559')")
ปรากฏว่า ขึ้น Incorrect syntax near ')'. ตรงตำแหน่งเดิม _QTY = Convert.ToInt32(cmd.ExecuteScalar())
T^T ถ้าว่าง และ ไม่รบกวนจนเกินไป ช่วยผมไขคดีนี้ด้วยเถิดดดด
ถามหน่อย คอลัม ([First Date] = '01072559') AND ([Final Date] = '31072559')") มันคอลัมเดียวกันใช่มั้ย
มันใช่หรอครับ คำสั่ง sqlแบบนี้ ไม่มีนะ
|
 |
 |
 |
 |
Date :
2016-07-06 15:32:00 |
By :
เทพโปรแกรมเมออายุ ยี่สิบห้า |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ออกตัวก่อนผมไม่ใช่เกย์นะเว๊ย(เอ๊ย ครับ ) 5555
พอดีผมก็เคยเจอปัญหาบ้านๆแบบนี้มาเช่นกัน 5555
|
 |
 |
 |
 |
Date :
2016-07-06 16:12:31 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2016-07-06 21:14:08 |
By :
deksoke |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มาเสนอหน้า ให่โลกรู้ว่ายังไม่ตายยย
|
 |
 |
 |
 |
Date :
2016-08-03 14:28:08 |
By :
as76157432 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|