|  | 
	                
  
    |  |  
    | 
        
        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 :
                          1374 | 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 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |