19-07-16, 03:00 AM
(19-07-16, 02:46 AM)ابو نجلاء كتب : من باب المساعده ليس إلا تم تصحيح الكود وتبيان ذلك بالتعليقات داخل الكود
كود :
Sub insertstoredorocedurs(ByVal txtquery As TextBox, ByVal dgvtables As DataGridView, ByVal dgvfields As DataGridView)
txtquery.Text = ""
Dim objcn As New SqlConnection(connectionstring)
serverconnection = New ServerConnection(objcn)
Dim server As New Server(serverconnection)
Dim strtablename As String = dgvtables.CurrentRow.Cells(0).Value.ToString()
'امسح المسافة التي بين جملة انسيرت واسم الجدول عشان ماتسبب لك مشكلة عند تخزينها في قاعدة البينات
strsql = "----------CREATE stored procedure insert----------" & Environment.NewLine & "Create PROCEDURE Insert" & strtablename & Environment.NewLine
keycount = -1
For Each item As Column In server.Databases(databasename).Tables(strtablename).Columns
keycount += 1
If dgvfields.Rows(keycount).Cells("Selected").Value = True Then
' strSql &= "@" & item.Name & " " & Environment.NewLine
'دالة استرنق فورمات الارقام تكون داخل اقواس معكوفة{}
strsql &= String.Format("@{0} {1}", item.Name.ToString().Replace(" ", ""), item.DataType)
If item.DataType.SqlDataType = SqlDataType.VarCharMax Then
strSql &= "(MAX)"
ElseIf item.DataType.Name.ToUpper().Contains("CHAR") Then
'دالة استرنق فورمات الارقام تكون داخل اقواس معكوفة{}
strsql &= String.Format("({0})", item.DataType.MaximumLength)
End If
If keycount < dgvfields.Rows.Count - 1 Then
strSql &= ","
Else
strSql &= ""
End If
End If
Next item
strsql &= "" & Environment.NewLine
'دالة استرنق فورمات الارقام تكون داخل اقواس معكوفة{}
strsql &= String.Format("As {0} Insert Into {1}(", Environment.NewLine, strtablename)
keycount = -1
For Each item As Column In server.Databases(databasename).Tables(strtablename).Columns
keycount += 1
If dgvfields.Rows(keycount).Cells("Selected").Value = True Then
' قم بإضافة نيم بين كلمة ايتم وكلمة تو سترنق
strsql &= item.Name.ToString().Replace(" ", "")
If keycount < dgvfields.Rows.Count - 1 Then
strsql &= ","
Else
strsql &= ""
End If
End If
Next item
strSql &= ")" & Environment.NewLine
strSql &= "values ("
keycount = -1
For Each item As Column In server.Databases(databasename).Tables(strtablename).Columns
keycount += 1
If dgvfields.Rows(keycount).Cells("Selected").Value = True Then
' قم بإضافة نيم بين كلمة ايتم وكلمة تو سترنق
strsql &= "@" & item.Name.ToString().Replace(" ", "")
If keycount < dgvfields.Rows.Count - 1 Then
strsql &= ","
Else
strsql &= ""
End If
End If
Next
strSql &= ")" & Environment.NewLine
txtquery.Text += strSql & Environment.NewLine & Environment.NewLine
End Sub
جرب الكود وبلغنا وش صار معك
تحياتي
الاخ العزيز ابو نجلاء....بارك الله لك فى الدارين وجزاك خيراً كثيراً بالفعل تم عمل الكود بنجاح بعد التعديلات التى قمت بها ....اشكرك شكراً جزيلاً
