naskam
جمعه 01 آذر 1387, 11:03 صبح
آموزش ساخت یک کلاس در دات نت 2008 برای کار با بانکهای اطلاعاتی sql
مثلا شما در بانک اطلاعاتی خودسه تا فیلد دارید با نامهای
id , name, family
ابتدا namespace مربوط به بانکهای اطلاعاتی را فراخوانی میکنیم
Imports
System.Data
Imports
System.Data.SqlClient
سپس سه متغیر را بصورت زیر تعریف میکنیم
Public
Class Class1
Private name AsString
Private family AsString
Private fullname AsString
سپس پروپرتی مربوط به مقداردهی وبازگشتی فیلدها تعیین میکنیم
Property NAMS() AsString
Get
Return name
EndGet
Set(ByVal value AsString)
name = value
EndSet
EndProperty
Property fams() AsString
Get
Return family
EndGet
Set(ByVal value AsString)
family = value
EndSet
EndProperty
ReadOnlyProperty fullnams() AsString
Get
Return name & " " & family
EndGet
EndProperty
حالا یک سابروتین برای جستجو بوسیله فیلد id که مقدار id را گرفته ونام ونام خانوادگی را برمیگرداند
Sub search(ByVal id As Int32)
Dim cnn AsNew SqlConnection(My.Settings.cnn)
cnn.Open()
Dim command AsNew SqlCommand("select * from info where id =@id", cnn)
command.CommandType = CommandType.Text
command.Parameters.Add(New SqlParameter("id", id))
Dim dr As SqlDataReader = command.ExecuteReader
If dr.Read Then
name = (dr.Item(
"name").ToString)
family = dr.Item("family").ToString
EndIf
EndSub
حالا این سابروتین نیز یک رکورد جدید را به بانک اطلاعاتی اضافه میکند
Sub add(ByVal name AsString, ByVal family AsString)
Dim cnn AsNew SqlConnection(My.Settings.cnn)
cnn.Open()
Dim command AsNew SqlCommand("insert into info ([name],[family]) values (@name,@family)", cnn)
command.CommandType = CommandType.Text
command.Parameters.Add(New SqlParameter("@name", name))
command.Parameters.Add(New SqlParameter("@family", family))
command.ExecuteNonQuery()
cnn.Close()
EndSub
واین سابروتین نیز id رو میگیره و رکورد مربوط به اون id رو حذف میکنه
Sub delete(ByVal id As Int32)
Dim cnn AsNew SqlConnection(My.Settings.cnn)
cnn.Open()
Dim command AsNew SqlCommand("delete info where id=@id", cnn)
command.Parameters.Add(New SqlParameter("@id", id))
command.ExecuteNonQuery()
cnn.Close()
EndSub
End
Class
سپس رو فرم ابتدا یک متغیر مثل زیر تعریف میکنیم
dim clss as new class1
clss.serach(textbox1.text(
یا
clss.add(textbox1.text)
یا
clss.delete(textbox1.text)
لطفا نظرات خودتون یادتون نره
باتشکر ناصر عباسی 09149480447
مثلا شما در بانک اطلاعاتی خودسه تا فیلد دارید با نامهای
id , name, family
ابتدا namespace مربوط به بانکهای اطلاعاتی را فراخوانی میکنیم
Imports
System.Data
Imports
System.Data.SqlClient
سپس سه متغیر را بصورت زیر تعریف میکنیم
Public
Class Class1
Private name AsString
Private family AsString
Private fullname AsString
سپس پروپرتی مربوط به مقداردهی وبازگشتی فیلدها تعیین میکنیم
Property NAMS() AsString
Get
Return name
EndGet
Set(ByVal value AsString)
name = value
EndSet
EndProperty
Property fams() AsString
Get
Return family
EndGet
Set(ByVal value AsString)
family = value
EndSet
EndProperty
ReadOnlyProperty fullnams() AsString
Get
Return name & " " & family
EndGet
EndProperty
حالا یک سابروتین برای جستجو بوسیله فیلد id که مقدار id را گرفته ونام ونام خانوادگی را برمیگرداند
Sub search(ByVal id As Int32)
Dim cnn AsNew SqlConnection(My.Settings.cnn)
cnn.Open()
Dim command AsNew SqlCommand("select * from info where id =@id", cnn)
command.CommandType = CommandType.Text
command.Parameters.Add(New SqlParameter("id", id))
Dim dr As SqlDataReader = command.ExecuteReader
If dr.Read Then
name = (dr.Item(
"name").ToString)
family = dr.Item("family").ToString
EndIf
EndSub
حالا این سابروتین نیز یک رکورد جدید را به بانک اطلاعاتی اضافه میکند
Sub add(ByVal name AsString, ByVal family AsString)
Dim cnn AsNew SqlConnection(My.Settings.cnn)
cnn.Open()
Dim command AsNew SqlCommand("insert into info ([name],[family]) values (@name,@family)", cnn)
command.CommandType = CommandType.Text
command.Parameters.Add(New SqlParameter("@name", name))
command.Parameters.Add(New SqlParameter("@family", family))
command.ExecuteNonQuery()
cnn.Close()
EndSub
واین سابروتین نیز id رو میگیره و رکورد مربوط به اون id رو حذف میکنه
Sub delete(ByVal id As Int32)
Dim cnn AsNew SqlConnection(My.Settings.cnn)
cnn.Open()
Dim command AsNew SqlCommand("delete info where id=@id", cnn)
command.Parameters.Add(New SqlParameter("@id", id))
command.ExecuteNonQuery()
cnn.Close()
EndSub
End
Class
سپس رو فرم ابتدا یک متغیر مثل زیر تعریف میکنیم
dim clss as new class1
clss.serach(textbox1.text(
یا
clss.add(textbox1.text)
یا
clss.delete(textbox1.text)
لطفا نظرات خودتون یادتون نره
باتشکر ناصر عباسی 09149480447