منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكلة في DATATABLE - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : مشكلة في DATATABLE (/showthread.php?tid=44088)



مشكلة في DATATABLE - ali_ahmed12 - 16-10-22

كود :
public int CODE_GENE(string TABLE_NAME, string COLUMN_NAME)
       {
           int CODE = 0;
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY{1}", TABLE_NAME, COLUMN_NAME), con);
           DA.Fill(DT);
           if (DT.Rows.Count > 0)
           {
               int I = DT.Rows.Count - 1;
               CODE = Convert.ToInt32(DT.Rows[I][COLUMN_NAME]);
           }
           return CODE;
       }
هدا خطا في صوره


RE: مشكلة في DATATABLE - Meen2 - 16-10-22

q
(16-10-22, 03:18 PM)ali_ahmed12 كتب :
كود :
public int CODE_GENE(string TABLE_NAME, string COLUMN_NAME)
       {
           int CODE = 0;
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY{1}", TABLE_NAME, COLUMN_NAME), con);
           DA.Fill(DT);
           if (DT.Rows.Count > 0)
           {
               int I = DT.Rows.Count - 1;
               CODE = Convert.ToInt32(DT.Rows[I][COLUMN_NAME]);
           }
           return CODE;
       }
هدا خطا في صوره

ضع مسافة بعد كلمة BY
كود :
SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY {1}", TABLE_NAME, COLUMN_NAME), con);



RE: مشكلة في DATATABLE - ali_ahmed12 - 16-10-22

(16-10-22, 03:58 PM)Meen2 كتب : q
(16-10-22, 03:18 PM)ali_ahmed12 كتب :
كود :
public int CODE_GENE(string TABLE_NAME, string COLUMN_NAME)
       {
           int CODE = 0;
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY{1}", TABLE_NAME, COLUMN_NAME), con);
           DA.Fill(DT);
           if (DT.Rows.Count > 0)
           {
               int I = DT.Rows.Count - 1;
               CODE = Convert.ToInt32(DT.Rows[I][COLUMN_NAME]);
           }
           return CODE;
       }
هدا خطا في صوره

ضع مسافة بعد كلمة BY
كود :
SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY {1}", TABLE_NAME, COLUMN_NAME), con);

هنا في كود fill قمت بتحويله ل c# يظهر خطا في rows
كود :
Sub FILL_UNITE(STR As String)
       TXT_UNIT.Items.Clear()
       Dim DT As New DataTable
       Dim DA As New SqlDataAdapter(STR, sqlcon)
       DA.Fill(DT)
       For I = 0 To DT.Rows.Count - 1
           TXT_UNIT.Items.Add(DT.Rows(I).Item("unite_name"))
       Next
   End Sub

وهدا سي شارب 
كود :
public void FILL_UNITE(string STR)
       {
           TXT_UNIT.Items.Clear();
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(STR, con);
           DA.Fill(DT);
           for (int I = 0; I <= DT.Rows.Count - 1; I++)
               TXT_UNIT.Items.Add(DT.Rows(I).Item("unite_name"));
       }



RE: مشكلة في DATATABLE - Meen2 - 16-10-22

(16-10-22, 04:27 PM)ali_ahmed12 كتب :
(16-10-22, 03:58 PM)Meen2 كتب : q
(16-10-22, 03:18 PM)ali_ahmed12 كتب :
كود :
public int CODE_GENE(string TABLE_NAME, string COLUMN_NAME)
       {
           int CODE = 0;
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY{1}", TABLE_NAME, COLUMN_NAME), con);
           DA.Fill(DT);
           if (DT.Rows.Count > 0)
           {
               int I = DT.Rows.Count - 1;
               CODE = Convert.ToInt32(DT.Rows[I][COLUMN_NAME]);
           }
           return CODE;
       }
هدا خطا في صوره

ضع مسافة بعد كلمة BY
كود :
SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY {1}", TABLE_NAME, COLUMN_NAME), con);

هنا في كود fill قمت بتحويله ل c# يظهر خطا في rows
كود :
Sub FILL_UNITE(STR As String)
       TXT_UNIT.Items.Clear()
       Dim DT As New DataTable
       Dim DA As New SqlDataAdapter(STR, sqlcon)
       DA.Fill(DT)
       For I = 0 To DT.Rows.Count - 1
           TXT_UNIT.Items.Add(DT.Rows(I).Item("unite_name"))
       Next
   End Sub

وهدا سي شارب 
كود :
public void FILL_UNITE(string STR)
       {
           TXT_UNIT.Items.Clear();
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(STR, con);
           DA.Fill(DT);
           for (int I = 0; I <= DT.Rows.Count - 1; I++)
               TXT_UNIT.Items.Add(DT.Rows(I).Item("unite_name"));
       }

ال Rows عبارة عن مصفوفة
وللإشارة لعنصر في المصفوفة في لغة C يجب ان استخدام الاقواس [] وليس ()
كذلك ليس لها Item بل قم بالاشارة لاسم العمود بعدها مباشر باقواس ايضا [] فيكون الكود
كود :
TXT_UNIT.Items.Add(DT.Rows[I][unite_name"]);
لو راجعت الكود الذي اقتبسته انت من مشاركتي ستجد الطريقة في السطر
كود :
CODE = Convert.ToInt32(DT.Rows[I][COLUMN_NAME]);



RE: مشكلة في DATATABLE - ali_ahmed12 - 16-10-22

(16-10-22, 04:36 PM)Meen2 كتب :
(16-10-22, 04:27 PM)ali_ahmed12 كتب :
(16-10-22, 03:58 PM)Meen2 كتب : q
(16-10-22, 03:18 PM)ali_ahmed12 كتب :
كود :
public int CODE_GENE(string TABLE_NAME, string COLUMN_NAME)
       {
           int CODE = 0;
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY{1}", TABLE_NAME, COLUMN_NAME), con);
           DA.Fill(DT);
           if (DT.Rows.Count > 0)
           {
               int I = DT.Rows.Count - 1;
               CODE = Convert.ToInt32(DT.Rows[I][COLUMN_NAME]);
           }
           return CODE;
       }
هدا خطا في صوره

ضع مسافة بعد كلمة BY
كود :
SqlDataAdapter DA = new SqlDataAdapter(String.Format("SELECT {1} FROM {0} ORDER BY {1}", TABLE_NAME, COLUMN_NAME), con);

هنا في كود fill قمت بتحويله ل c# يظهر خطا في rows
كود :
Sub FILL_UNITE(STR As String)
       TXT_UNIT.Items.Clear()
       Dim DT As New DataTable
       Dim DA As New SqlDataAdapter(STR, sqlcon)
       DA.Fill(DT)
       For I = 0 To DT.Rows.Count - 1
           TXT_UNIT.Items.Add(DT.Rows(I).Item("unite_name"))
       Next
   End Sub

وهدا سي شارب 
كود :
public void FILL_UNITE(string STR)
       {
           TXT_UNIT.Items.Clear();
           DataTable DT = new DataTable();
           SqlDataAdapter DA = new SqlDataAdapter(STR, con);
           DA.Fill(DT);
           for (int I = 0; I <= DT.Rows.Count - 1; I++)
               TXT_UNIT.Items.Add(DT.Rows(I).Item("unite_name"));
       }

ال Rows عبارة عن مصفوفة
وللإشارة لعنصر في المصفوفة في لغة C يجب ان استخدام الاقواس [] وليس ()
كذلك ليس لها Item بل قم بالاشارة لاسم العمود بعدها مباشر باقواس ايضا [] فيكون الكود
كود :
TXT_UNIT.Items.Add(DT.Rows[I][unite_name"]);
لو راجعت الكود الذي اقتبسته انت من مشاركتي ستجد الطريقة في السطر
كود :
CODE = Convert.ToInt32(DT.Rows[I][COLUMN_NAME]);

بارك الله فيك