Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाग्रिडव्यू से MySQL डेटाबेस में मान डालने का सबसे तेज़ तरीका क्या है?

मैं यह नहीं बता सकता कि यह कितना तेज़ होगा, हालाँकि आपकी क्वेरी के लिए सरल अनुकूलन हैं

Dim queryInsert As String = "INSERT INTO tbl_shipdetails (ship_date, " & _
                             "item_type, item_code, imei1, imei2)" & _
                             "VALUES(@p1,'@p2,@p3,@p4,@p5)"
Dim cmd = New  MySqlCommand(queryInsert, Myconnect)
cmd.Parameters.Add("@p1", MySqlDbType.VarChar)
cmd.Parameters.Add("@p2", MySqlDbType.VarChar)    
cmd.Parameters.Add("@p3", MySqlDbType.VarChar)    
cmd.Parameters.Add("@p4", MySqlDbType.VarChar)    
cmd.Parameters.Add("@p5", MySqlDbType.VarChar)
For i As Integer = 0 To DataGridView1.Rows.Count - 1
    cmd.Parameters("@p1").Value = DataGridView1.Rows(i).Cells(1).Value
    cmd.Parameters("@p2").Value = DataGridView1.Rows(i).Cells(2).Value 
    cmd.Parameters("@p3").Value = DataGridView1.Rows(i).Cells(3).Value
    cmd.Parameters("@p4").Value = DataGridView1.Rows(i).Cells(4).Value
    cmd.Parameters("@p5").Value = DataGridView1.Rows(i).Cells(5).Value
    cmd.ExecuteNonQuery()
Next

मापदंडों का उपयोग करने से आप लूप के बाहर सिर्फ एक बार MySqlCommand का निर्माण कर सकते हैं और स्ट्रिंग्स को जोड़ने के लिए आवश्यक कार्य से भी बच सकते हैं। (एसक्यूएल इंजेक्शन की समस्या का उल्लेख नहीं करने के लिए)

ध्यान दें कि मैंने एसक्यूएल टेक्स्ट में आपके संकेत का पालन किया है जहां आपके सभी फ़ील्ड स्ट्रिंग (वरचर) प्रकार के प्रतीत होते हैं। यदि आपके क्षेत्र अलग-अलग डेटाटाइप के हैं तो आपको MySqlDbType एनम को अपने सही डेटाटाइप में समायोजित करना चाहिए (और इनपुट मानों को परिवर्तित करना =



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में त्रुटि 1064 (42000)

  2. 1 बाइट में आप कितने कैरेक्टर स्टोर कर सकते हैं?

  3. Laravel $q->where() तारीखों के बीच

  4. MySQL का उपयोग करके किसी फ़ील्ड में टेक्स्ट के एक हिस्से को ढूंढें और बदलें

  5. मैसकल कनेक्टर/जे को DATE और TIME टाइमज़ोन को परिवर्तित करने से कैसे रोकें?