منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الاستعلام على رقم معين في حقل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم 

لدي جدول يحتوي على عدة حقول من بينها الحقلين     ID_Num  ,   Gender

حيث أن الحقل ID_Num يحتوي على بيانات كالتالي:

1998800002356
2898800002333
1998800002446
2898800002783
حيث أن الرقم على اليسار 1 أو 2 
أريد أن احفظ هذا الرقم في الحقل Gender

 Gender                                           ID_Num  
1998800002356                                      1
2898800002333                                      2
1998800002446                                      1
2898800002783                                      2


والسلام عليكم
يمكنك استخدام substring اذا حولت الرقم الوطني إلى نص string
كود :
GenderIdentifier = NationalNumber.ToString().Substring(0,1)


أو باستخدام LINQ
كود :
Dim GenderIdentifier = NationalNumber.First()
شكرًا اخي على الرد 
هل يمكن أن توضح استخدام الدالة في جملة الاستعلام SQL   UPDATE
بارك الله فيك
القيمة الناتجة من الدالة ضعها في متغير جديد ثم مرره في امر الادخال الى قاعدة البيانات أيا كان نوعه ado او linq
توضيحاً واضافة لما قدمه الاخ محمد كريّم

فى البداية يجب ان يتم جلب القيمة للارقام المذكورة بالاعلى
وليكن ان القيمة تكتب او يتم جلبها من جدول على اى حال
ويتم اضافة القيمة اما فى Textbox أو فى تعرف متغير أو ما شبه

فمثلاً القيمة لديك يتم تعرفها اما فى التالى كمثال..
كود :
Dim Number_ As Long = 1998800002356

ليتم جلب الرقم الاول من القيمة من خلال الكود
كود :
MsgBox(Number_.ToString.Substring(0, 1))

فعند كود التحديث بقاعد البيانات يتم الاستخدام بهذا الشكل
كود :
"UPDATE table_name SET Gender = "& Number_.ToString.Substring(0, 1) &" WHERE ID_Num ="& Number_

أو مثلاً ان القيمة تصل الى TextBox مثل الكود التالى كمثال
كود :
TextBox1.Text = 1998800002356

ليتم جلب الرقم الاول من القيمة من خلال الكود
كود :
MsgBox(TextBox1.Text.Substring(0, 1))

فعند كود التحديث بقاعد البيانات يتم الاستخدام بهذا الشكل
كود :
"UPDATE table_name SET Gender = "& TextBox1.Text.Substring(0, 1) &" WHERE ID_Num ="& TextBox1.Text

وهذا ما يشير اله اخى الفاضل محمد كريّم

واتمنى ان الصورة وضحت لك كاملاً

تحياتى لك
وتمنياتى لك التوفيق
السلام عليكم
أشكر الاخوة على الرد والتوضيح ..
إلا أنني أحتاج إلى تغيير عدد كبير من السجلات يصل إلى عشرات الآلاف .. 
حيث أن حقل ID_Num  موجودة قيمته في الجدول وحقل غير موجودة وأريد تعبئته بناءً على آخر رقم من الجهة اليسرى لحقل ID_Num  كالتالي:

Gender                                           ID_Num  
1998800002356                                      1
2898800002333                                      2
1998800002446                                      1
2898800002783                                      2

فهل يمكن استخدام الدالة Substring أو أي دالة أخرى في جملة sql  للحقول مباشرة دون استدعائها أو عرضها ...
أشكركم مرة أخرى 
والسلام عليكم 
(01-08-18, 11:00 AM)Elhatmi كتب : [ -> ]السلام عليكم
أشكر الاخوة على الرد والتوضيح ..
إلا أنني أحتاج إلى تغيير عدد كبير من السجلات يصل إلى عشرات الآلاف .. 
حيث أن حقل ID_Num  موجودة قيمته في الجدول وحقل غير موجودة وأريد تعبئته بناءً على آخر رقم من الجهة اليسرى لحقل ID_Num  كالتالي:

Gender                                           ID_Num  
1998800002356                                      1
2898800002333                                      2
1998800002446                                      1
2898800002783                                      2

فهل يمكن استخدام الدالة Substring أو أي دالة أخرى في جملة sql  للحقول مباشرة دون استدعائها أو عرضها ...
أشكركم مرة أخرى 
والسلام عليكم 


نعم
SQL Server فيه دالة substring خاصة
الفرق بينها وبين دالة الدوت نت انها تبدأ العد من 1 في الباراميتر الأول بدلا من 0
اقرأ عنها أكثر مع الأمثلة من هنا
https://www.techonthenet.com/sql_server/...string.php

اذا لم تفلح في انشاء الاستعلام أخبرني
السلام عليكم
أشكرك أخي محمد على اهتمامك ..

أنا أرغب في جملة Update وذلك لتعديل حقل Gender من آخر رقم في حقل ID_Num  لأن كمية البيانات كبيرة جدا
   
جملة التعديل في vb.net حيث أني كتبتها بهذه الطريقة ولكن لم أنجح

cmd.CommandText = "Update table set Gender  ID_Num(Substring(0, 1))

بارك الله فيك
(01-08-18, 03:34 PM)Elhatmi كتب : [ -> ]السلام عليكم
أشكرك أخي محمد على اهتمامك ..

أنا أرغب في جملة Update وذلك لتعديل حقل Gender من آخر رقم في حقل ID_Num  لأن كمية البيانات كبيرة جدا
   
جملة التعديل في vb.net حيث أني كتبتها بهذه الطريقة ولكن لم أنجح

cmd.CommandText = "Update table set Gender  ID_Num(Substring(0, 1))

بارك الله فيك


أولا وقبل عمل أي خطوة خذ نسخة من قاعدة البيانات
ثانيا يفضل ان تقوم بالاستعلام داخل sql server وليس من برنامجك

الاستعلام يكون بهذا الشكل

كود :
Update table set Gender = SUBSTRING(ID_Num, 1, 1)


لم أجربه ولكن اعتقد انه يحتاج لشرط where بحيث لا يعتمد قيمة اول حقل ويدرجها لكل الحقول
السلام عليكم 
أخي محمد جربت على sql server نجحت العملية 
ولكم في الفيجوال دوت نت لم تنجح 

آسف جدا على تعبك معايا
وشكرًا لاهتمامك
بارك الله فيك 
الصفحات : 1 2