منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيف يتم معرفة رقم ID السجل الجديد -- تم الوصول للحل - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] كيف يتم معرفة رقم ID السجل الجديد -- تم الوصول للحل (/showthread.php?tid=20093)



كيف يتم معرفة رقم ID السجل الجديد -- تم الوصول للحل - اليوم مبتدئة وغداً محترفة - 20-04-17

بسم الله الرحمن الرحيم



عند عمل انسيرت لسجل جديد في قاعدة بيانات من نوع SQL Server  كيف يمكن معرفة رقم ID للسجل الجديد مع العلم أن ID ترقيم تلقائي؟؟

طبعا المشروع asp.net

مع شكري للجميع ،،،


تم الوصول للحل والحمد لله في الكود التالي
PHP كود :
dim conn as sqlconnection("your connection string")
dim cmd as new sqlcommand("Insert into Documents (col1,col2,col3) output INSERTED.id values(val1,val2,val3)",conn)
conn.open()
dim NewId as integer cmd.ExecuteScalar
conn
.close()
cmd=nothing 

وجزاكم الله خير 



RE: كيف يتم معرفة رقم ID السجل الجديد - IBRA939 - 20-04-17

سهل الحبيب طبعا اذا معك ID تلقائي وتريد تعرفة علي سبيل المثال في data grid

تسوي هذا في زر البحث
SQLTsalary = "SELECT * FROM Tsalary WHERE Namestaff LIKE '%" & TxTSearch.Text & "%'"

DataSetTsalary.Clear()
Conn.Open()
Dim DataAdapterTsalary As New OleDbDataAdapter(SQLTsalary, Conn)
DataAdapterTsalary.Fill(DataSetTsalary, "Tsalary")
Conn.Close()



HideTxtID.DataBindings.Clear()
HideTxtID.DataBindings.Add("Text", DataSetTsalary, "Tsalary.ID")



GVTeachers.DataSource = DataSetTsalary
GVTeachers.DataMember = "Tsalary"
GVTeachers.Refresh()
ملاحظة الكود الاسفل سوتلك مثال اذا تريدة يظهر اسم الموظف او تريد تخفيه
GVTeachers.Columns(0).Visible = False او GVTeachers.Columns(0).HeaderText = "رقم الموظف تلقائي"
GVTeachers.Columns(1).HeaderText = "رقم الموظف"
GVTeachers.Columns(2).HeaderText = "اسم الموظف"




تعريفات الاكود وهوه كتالي :
Tsalary اسم جدول قاعده البيانات
Columns(2).HeaderText في هذا تعريف للخلايا الموجوده في data grid ولزم تعرف رقم متسلسل للخلية مثلا 1 او 2 ووووالخ
TxTSearch اسم text لي تريد تبحث فية
DataSetTsalary اسم ديتا المستخدمة
HideTxtID طبعا هذا اسم اي اسم تقدر تسمية وتستخدمة لسحب رقم متسلسل

GVTeachers اسم data grid

وشكرا التمني فهمت


RE: كيف يتم معرفة رقم ID السجل الجديد - اليوم مبتدئة وغداً محترفة - 21-04-17

اشكرك أخي الكريم..
ولكن سؤالي هو اني اذا عملت إنسيرت لسجل جديد كيف أعرف رقم ID الذي سوف يأخذه في الداتابيز؟؟


RE: كيف يتم معرفة رقم ID السجل الجديد - أسامة السالمي - 21-04-17

بعد تحديث البيانات (استيراد)،
سيكون آخر سجل في قاعدة البيانات هو آخر سجل تم اضافته، مالم يكن هناك (Sort) أو (Filter).

*أنا استخدم الربط عن طريق المعالج.


RE: كيف يتم معرفة رقم ID السجل الجديد - حريف برمجة - 21-04-17

(20-04-17, 09:28 PM)اليوم مبتدئة وغداً محترفة كتب :
بسم الله الرحمن الرحيم



عند عمل انسيرت لسجل جديد في قاعدة بيانات من نوع SQL Server  كيف يمكن معرفة رقم ID للسجل الجديد مع العلم أن ID ترقيم تلقائي؟؟

طبعا المشروع asp.net

مع شكري للجميع ،،،

ماهو كود الانسيرت ليتم تعديله ؟


RE: كيف يتم معرفة رقم ID السجل الجديد - محمد كريّم - 21-04-17

بطريقة سهلة سيكون maxID+1
لكن لا ينفع اذا كان التطبيق مستخدم في اكثر من جهاز بوقت واحد
اما اذا كان تطبيق عام او له اكثر من مستخدم ممكن يدخلوا في وقت واحد فيوجد استعلام يعيد الرقم الجديد بعد الادخال
اعتقد موجود في احد مشاركات المنتدى


RE: كيف يتم معرفة رقم ID السجل الجديد - اليوم مبتدئة وغداً محترفة - 24-04-17

كل الشكر لكم جميعا

وجدت الحل في الكود الاتي


PHP كود :
dim conn as sqlconnection("your connection string")
dim cmd as new sqlcommand("Insert into Documents (col1,col2,col3) output INSERTED.id values(val1,val2,val3)",conn)
conn.open()
dim NewId as integer cmd.ExecuteScalar
conn
.close()
cmd=nothing 

حيث نتلقى قيمة Id الجديدة في المتغير NewId


RE: كيف يتم معرفة رقم ID السجل الجديد -- تم الوصول للحل - عبـدالله - 24-04-17

وهذا حل آخر (SqlServer)
PHP كود :
Dim cmd As New SqlCommand("INSERT INTO [Documents] ([col1],[col2],[col3]) VALUES (val1,val2,val3); SELECT @@IDENTITY;",conn



RE: كيف يتم معرفة رقم ID السجل الجديد -- تم الوصول للحل - العواد الصغير - 25-04-17

حسنا افدتمونا جزاكم الخير  اذا كانت نوع الحق كويد كيف يتم معرفة الكويد للسجل الجديد علما اننا نستخدم  دالة داخل سكول 
وهذه الدالة   (newid())  وهذا نوع الحقل   uniqueidentifier