السلام عليكم
لدي جدول يحتوي على عدة حقول من بينها الحقلين 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 نجحت العملية
ولكم في الفيجوال دوت نت لم تنجح
آسف جدا على تعبك معايا
وشكرًا لاهتمامك
بارك الله فيك