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جرب الكود وبلغنا وش صار معك
تحياتي

