الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اجعل قيم في string تتحول الى كود برمجي

بدأه lana2008 في 18 ديسمبر 2010 · 6 رد · 606 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هلا

انا عندي متغير في string عبارة عن كود برمجي كيف اخليى هذا string يتنفذ ك كودد وهذا هو الكود

   Dim cmd As New SqlCommand
        cmd.CommandText = "Insert Into  Employee_1 (" & s & ") Values(" & s_1 & ")"
        cmd.Connection = con
        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()

المتغير الاول الى هو s يجيب اسماء الجدول وهذا شغال مية مية اما المشكلة في المتغير الثاني

المتغير هو S_1 وهو عبارة عن اسماء textbox

يعني هو يحوي

TextBox.Name

بحيث يكمل امر Insert

الجزء الاول شغال تمام ام الجزء الثاني في مشكلة

وشكراااااااااا كتير

#2

لماذا لا تبدل s_1 بأسماء مربعات النص هكذا :

cmd.CommandText = "Insert Into  Employee_1 (" & s & ") Values(" & TextBox1.Text & ", " & TextBox2.Text & ")"

مع زيادة " بالنسبة لمربعات النصوص التي تحتوي على نصوص

بالتوفيق :)

#3

عفوا انت ما فهمت الموضوع

انا بعرف انها بتشتغل لما احط هاي الطريقة

بس انا بدي اعمل class هو يقوم بتركيب الامر كاملا

يعني اول اشيى بقراء اسماء الاعمدة من الداتا ست واضعها في جملة الانسرت

وبعدها بدي احط اسما ء textbox نفس اسماء الاعمدة بحيث

تكون كتالى

 Dim da As New SqlClient.SqlDataAdapter("select * from Employee_1", con)
        Dim ds As New Data.DataSet
        da.Fill(ds)
        Dim s As String
        Dim i, a As Integer
        For i = 0 To ds.Tables(0).Columns.Count - 1
            s = s & ds.Tables(0).Columns(a).ColumnName & ","
            a = a + 1
        Next i
        s = s.Remove(s.Length - 1)


        Dim da_1 As New SqlClient.SqlDataAdapter("select * from Employee_1", con)
        Dim ds_1 As New Data.DataSet
        da_1.Fill(ds_1)
        Dim i_1, a_1 As Integer
        Dim s_1 As String
        For i_1 = 0 To ds_1.Tables(0).Columns.Count - 1
            s_1 = s_1 & ds.Tables(0).Columns(0).ColumnName & ".Text,"
            a_1 = a_1 + 1
        Next i_1
        s_1 = s_1.Remove(s_1.Length - 1)

        Dim cmd As New SqlCommand
        cmd.CommandText = "Insert Into  Employee_1 (" & s & ") Values(" & s_1 & ")"
        cmd.Connection = con
        con.Open()
        cmd.ExecuteNonQuery()

الجزء الاول ماشي تمام بس الجزء الثاني هو الي في المشكلة

S_1

عبارة عن اسم العامود

وفي الفورم موجود نفس اسم العامود

يعني

اذا كان اسم العامود employee_id

اذا اسم التكست بوكس هو

employee_id.text

#4
        For i_1 = 0 To ds_1.Tables(0).Columns.Count - 1
            s_1 = s_1 & FormX.Controls[ds.Tables(0).Columns(0).ColumnName].Text & ","
            a_1 = a_1 + 1
        Next i_1

قومي بتحرير هذا الكود ليتلائم و متطلبات الفئة التي تطورين

ملاحظة : يجب زيادة " لمربعات النص المحتوية على نصوص

بالتوفيق :)

#5

شكرا كتير على وقتك بس

مانحلت المشكلة صار يخزن اول قيمة في كل الحقول

#6
        For i_1 = 0 To ds_1.Tables(0).Columns.Count - 1
            s_1 = s_1 & FormX.Controls[ds.Tables(0).Columns(i_1).ColumnName].Text & ","
            a_1 = a_1 + 1
        Next i_1

الخطأ كان في الكود الأصلي و هذا هو التصحيح إن شاء الله

بالتوفيق :)

1
#7

شكرااااااااااااااااااااا كتييرررررررررررررررررررررررررر

مواضيع مشابهة