PDA

View Full Version : توليد يك Identity در دات نت



msh_gold
پنج شنبه 04 مهر 1387, 04:26 صبح
با سلام ببخشيد. من در برنامم مي خوام براي توليد شماره فاكتور از يك identityمثل بانك اطلاعاتي استفاده كنم .مثلا شماره فاكتور من از 1100 شروع بشه و با هر فاكتور جديد يكي به اون اضافه بشه .مي خواستم بدونم چطوري ميشه اين امكان رو در دات نت پياده سازي كرد.يا اصلا امكانش هست . با تشكر:لبخندساده:

ali_md110
پنج شنبه 04 مهر 1387, 08:58 صبح
تابع زیر یک شماره اضافه میکنه

Public Function Add(ByVal table As String, ByVal fildName As String) As Integer
Dim intid As Integer
'این پروسیجر یک رقم به فیلد اضافه میکند
Dim CNN As OleDbConnection
Dim DataReader As OleDbDataReader
Dim Command As OleDb.OleDbCommand
Dim cnnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\master.mdb"
CNN = New OleDbConnection(cnnstr)
Dim SQL As String = ("select * from " & table & " order by " & fildName)
Command = New OleDbCommand(SQL, CNN)
Command.CommandType = CommandType.Text
CNN.Open()
DataReader = Command.ExecuteReader
If DataReader.HasRows Then
While DataReader.Read
intid = DataReader(fildName.Trim)
End While

Return intid + 1


End If
If intid = 0 Then
Return 1
End If
DataReader.Close()
CNN.Close()


End Function

msh_gold
جمعه 05 مهر 1387, 05:28 صبح
با سلام ممنون دوست عزيز.من تو بانك sql نمي خواستم من مي خوام چنين امكاني تو خود برنامه باشه .يعني با خود vb.net بشه چنين كاري كرد.

ali_md110
شنبه 06 مهر 1387, 00:58 صبح
عزیز دلم خود ویبی دات نت از کجا بدونه فیلد بانک شما شمارش چنده پس باید به اون دسترسی داشته باشه
تا یکی بهش اضافه کنه
فقط یه راه داری اینکه برا ی اولین بار بانک رو باز کنی بهش دسترسی پیدا کنی بعد محتوی تابع فوق رو در یک متغیر قرار بدی و با هر بار دسترسی به این متغیر یکی به اون اضافه کنی
myvariable+=1
ولی اگر برنامتو بستی باز هم باید یکبار دیکه بانک رو باز کنی و به فیلدهاش دسترسی داشته باشی