PDA

View Full Version : سوال: استفاده از ماژول یا کلاس در برنامه !!!!!!!!!!



djhooman
سه شنبه 20 تیر 1391, 19:38 عصر
سلام دوستای گل . . . . . . . . .

من توی فرم ویرایش اطلاعات برنامم از این کد استفاده کردم .

برای اینکه کد نویسی برنامم شلوغ شده تصمیم گرفتم از کلاس یا ماژول استفاده کنم . . .

کدم و پایین میزارم ببینم کسی میتونه کد فرمم رو به کمک کلاس یا ماژول در بیاره ؟؟؟؟


ممنون میشم کمک کنید ......

محتوایات کد کلاس یا ماژول و کد فرمم که تغییر میکنه به چه صورت میشه ؟؟؟؟





Public Class Tashkil_Edit
Dim Str As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
Dim con As New SqlConnection(Str)
Dim sql As String

Private Sub ButtonX1_Click(sender As System.Object, e As System.EventArgs) Handles ButtonX1.Click

Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim cmd As New SqlCommand("Select * From Etelat Where DigitalID=@DigitalID", con)
cmd.Parameters.AddWithValue("DigitalID", DigitalIDTextBox.Text)
Dim reader As SqlDataReader
con.Open()
reader = cmd.ExecuteReader()
reader.Read()
NoeDarkhastComboBox.Text = reader("NoeDarkhast").ToString()
MablaghTextBox.Text = reader("Mablagh").ToString()
BabateComboBox.Text = reader("Babate").ToString()
TarikhTextBox.Text = reader("Tarikh").ToString()
ArzeshAfzoodeLabel1.Text = reader("ArzeshAfzoode").ToString()
TotalLabel1.Text = reader("Total").ToString()
ShParvandehTextBox.Text = reader("ShParvandeh").ToString()
TozihatRichTextBox.Text = reader("Tozihat").ToString()
NahveDaryaftComboBox.Text = reader("NahveDaryaft").ToString
reader.Close()
con.Close()
End Sub

Private Sub ButtonX2_Click(sender As System.Object, e As System.EventArgs) Handles ButtonX2.Click
Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim cmd As New SqlCommand("UPDATE Etelat Set ShParvandeh=@ShParvandeh,NoeDarkhast=@NoeDarkhast, ArzeshAfzoode=@ArzeshAfzoode,Total=@Total,Tozihat= @Tozihat,NahveDaryaft=@NahveDaryaft where DigitalID=@DigitalID", con)
Try
If con.State = ConnectionState.Open Then
con.Close()
End If
con.ConnectionString = con.ConnectionString
cmd.Parameters.AddWithValue("@DigitalID", Me.DigitalIDTextBox.Text)
cmd.Parameters.AddWithValue("@ShParvandeh", Me.ShParvandehTextBox.Text)
cmd.Parameters.AddWithValue("@NoeDarkhast", Me.NoeDarkhastComboBox.Text)
cmd.Parameters.AddWithValue("@Babate", Me.BabateComboBox.Text)
cmd.Parameters.AddWithValue("@Mablagh", Me.MablaghTextBox.Text)
cmd.Parameters.AddWithValue("@Tarikh", Me.TarikhTextBox.Text)
cmd.Parameters.AddWithValue("@ArzeshAfzoode", Me.ArzeshAfzoodeLabel1.Text)
cmd.Parameters.AddWithValue("@Total", Me.TotalLabel1.Text)
cmd.Parameters.AddWithValue("@Tozihat", Me.TozihatRichTextBox.Text)
cmd.Parameters.AddWithValue("@NahveDaryaft", Me.NahveDaryaftComboBox.Text)
con.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
con.Close()
End Try
MsgBox(" اطلاعات با موفقيت بروزرساني گرديد ")
End Sub
End Class

ROSTAM2
سه شنبه 20 تیر 1391, 20:53 عصر
براي آپديت اين دو متد رو به يك ماجول اضافه كنيد مشكلي داشت بگيد :: ! :لبخندساده:


Sub UpdateQuery(ByVal ConnectionString As String, ByVal ID As String, ByVal ParamArray Values() As String)
Dim vl As New List(Of String)
vl.Clear()
For i = 0 To 5
If Values(i) Is Nothing Then
vl.Add("''")
GoTo Nx
End If
vl.Add(Values(i))
Nx:
Next
Dim con As New SqlConnection(ConnectionString)
Try
Dim cmd As New SqlCommand("UPDATE Etelat Set ShParvandeh=" + vl(0) + ",NoeDarkhast=" + vl(1) + ", ArzeshAfzoode=" + vl(2) + ",Total=" + vl(3) + ",Tozihat=" + vl(4) + ",NahveDaryaft=" + vl(5) + " where DigitalID=" + ID, con)
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
con.Close()
End Try
MsgBox(" اطلاعات با موفقيت بروزرساني گرديد ")
End Sub
Sub UpdateQuery(ByVal ConnectionString As String, ByVal ShParvandeh As String, ByVal NoeDarkhast As String, ByVal ArzeshAfzoode As String, ByVal Total As String, ByVal Tozihat As String, ByVal NahveDaryaft As String, ByVal ID As String)
Dim con As New SqlConnection(ConnectionString)
Try
Dim cmd As New SqlCommand("UPDATE Etelat Set ShParvandeh=" + ShParvandeh + ",NoeDarkhast=" + NoeDarkhast + ", ArzeshAfzoode=" + ArzeshAfzoode + ",Total=" + Total + ",Tozihat=" + Tozihat + ",NahveDaryaft=" + NahveDaryaft + " where DigitalID=" + ID, con)
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
con.Close()
End Try
MsgBox(" اطلاعات با موفقيت بروزرساني گرديد ")
End Sub


و از اونها در برنامه استفاده كنيد !!!

djhooman
سه شنبه 20 تیر 1391, 21:11 عصر
دوست عزیز ، اول از همه ممنون که وقت گذاشتی و توجه کردی ،

دوم اینکه من میخوام کانکشن استرینگ و مخلفات دیگه مرتبط با اتصال به دیتابیس و ..... ( data adapter و ..... ) رو تو یه کلاس یا ماژول بصورت عمومی بذارم و از اون کلاس توی فرم هام استفاده کنم ....

توی کدی که خودم نوشتم هی تو فرمم اومدم کانکشن استرینگ و .... رو دادم به فرم که راه اصولی نیست چون اگر مسیر دیتابیس و .... مربوط به بانکم و بخوام عوض کنم 4 روز باید بیام فرم هام رو ویرایش کنم و کانکشن استرینگ جدید و معرفی کنم و ....


کد های من خوب و درست کار می کنن ، فقط میخوام این کدهام رو با استفاده از ماژول یا کلاس بدونم چجوریه .... چون اصولش اینه که با ماژول یا کلاس نوشته بشه نه اضافه کاری :ی :ی :ی

Hybrid
سه شنبه 20 تیر 1391, 21:17 عصر
ســلام ، شما یکبار Con رو تعریف کردین دیگه چرا واسه هر متد میاین دوباره تعریفش میکنید؟!!! ازش استفاده کن

در لینک پایین یک نمونه برنامه ساده نوشتم میتونین ببینید ، نحوه ی تعریف کانکشن و ... رو هم بهش اضافه کردم به سبک کلاس هستش ،

دانلود (http://thelife.persiangig.com/other/PhotographyApplication.rar)

هر جایی که سوال داشتین میتونین داخل تاپیکش (http://barnamenevis.org/showthread.php?331652-%D8%B3%D9%88%D8%B1%D8%B3%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%B3%D8%A7%D8%AF%D9%87-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%B9%DA%A9%D8%A7%D8%B3%DB%8C)بپرسین.

موفق باشید