View Full Version : سوال: اشکالات من در ADO.NET در VB.NET
JaVa
یک شنبه 11 تیر 1391, 14:10 عصر
سلام و خسته نباشید به دوستان گرامی.....
من دارم تایپیک ADO.NET در VB.NET رو مطالعه می کنم بعد به چند تایی مشکل برخوردم که از شما درخواست کمک می کنم.
این برنامه :
89031
این هم بانک:
http://wdl.persiangig.com/pages/download/?dl=http://mrgvb.persiangig.com/Bank.rar
خودم خیلی روش کار کردم و آخرش هم نفهمیدم که چطور میشه:خجالت:
JaVa
یک شنبه 11 تیر 1391, 15:35 عصر
به خودم گفتم شاید دانلودش براتون سخت باشه کدش رو گذاشتم:
کده اصلاح شده
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections
Public Class Form1
#Region "Varible"
Dim cmd As New SqlCommand()
Dim cnn As New SqlConnection()
Dim sda As New SqlDataAdapter()
Dim ds As New DataSet()
Dim arr As New ArrayList()
#End Region
Private Sub connection()
cnn.ConnectionString = "data source=MRG-PC;initial catalog=Personel;Integrated Security=true"
End Sub
Private Function loadall() As DataSet
connection()
cmd.CommandText = "Select *From Personel"
cmd.Connection = cnn
sda.SelectCommand = cmd
sda.SelectCommand.Connection = cnn
cnn.Open()
sda.Fill(ds, "Barnamevevis")
cnn.Close()
Return ds
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
loadall()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Barnamevevis"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
cmd.CommandText = "Insert Into Personel(Name,Family,Tel)Values(@Name,@Family,@Tel )"
cmd.Parameters.Clear()
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = TextBox1.Text
cmd.Parameters.Add("@Family", SqlDbType.NVarChar).Value = TextBox2.Text
cmd.Parameters.Add("@Tel", SqlDbType.Char).Value = TextBox3.Text
Insert(cmd)
loadall()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Barnamevevis"
End Sub
Private Sub Insert(ByVal Cmd As SqlCommand)
connection()
Cmd.Connection = cnn
cnn.Open()
Cmd.ExecuteNonQuery()
cnn.Close()
End Sub
End Class
این هم بانک:
amir3321
دوشنبه 12 تیر 1391, 16:13 عصر
با سلام
خوب کدی که گذاشتی مشکل دارد یا ندارد
این پارامتر نوع ان با نوع بانک تفاوت دارد
cmd.Parameters.Add("@Tel", SqlDbType.Char).Value = TextBox3.Text
BIGINT TO CHAR
JaVa
دوشنبه 12 تیر 1391, 16:39 عصر
سلام...
آره درست میگید من الان تمام مشکلات رو برطرف کردم فق تنها این مونده که وقتی من یه عملیات رو انجام می دم توی دیتا گرایدم دو بار اطلاعات ثبت میشه...
برای اطلاعات بیشتر می تونید به آدرس (http://barnamenevis.org/showthread.php?348989-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%AC%D8%AF%DB%8C%D8%AF-%D9%88-%D8%AF%D9%88%D8%A8%D8%A7%D8%B1%D9%87-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1-%D8%B4%D8%AF%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-DataGrideView)برید.
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
#Region "Varible"
Dim cnn As New SqlConnection
Dim cmd As New SqlCommand
Dim sda As New SqlDataAdapter
Dim ds As New DataSet
Dim arr As New ArrayList()
Dim index As Integer
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ConnectionToDB()
DGView.DataSource = ds
DGView.DataMember = "MRG"
End Sub
Private Sub ConnectionString()
cnn.ConnectionString = "Data Source=MRG-PC\SQLEXPRESS; Initial Catalog=Bank;Integrated Security=true"
End Sub
Private Function ConnectionToDB() As DataSet
ConnectionString()
cmd.CommandText = "Select *From Table1"
cmd.Connection = cnn
sda.SelectCommand = cmd
sda.SelectCommand.Connection = cnn
cnn.Open()
sda.Fill(ds, "MRG")
cnn.Close()
Return ds
End Function
Private Sub UID(ByVal CMD As SqlCommand)
ConnectionString()
CMD.Connection = cnn
cnn.Open()
CMD.ExecuteNonQuery()
cnn.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
cmd.CommandText = "Insert Into Table1(Name,Family,Phone) Values(@Name,@Family,@Phone)"
cmd.Parameters.Clear()
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = TextBox1.Text
cmd.Parameters.Add("@Family", SqlDbType.NVarChar).Value = TextBox2.Text
cmd.Parameters.Add("@Phone", SqlDbType.Char).Value = TextBox3.Text
UID(cmd)
ConnectionToDB()
'DGView.DataSource = ds
'DGView.DataMember = "MRG"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
cmd.CommandText = ("Delete From table1 where ID=@ID")
cmd.Parameters.Clear()
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = index
UID(cmd)
ConnectionToDB()
DGView.DataSource = ds
DGView.DataMember = "mrg"
End Sub
Private Sub DGView_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGView.Click
index = DGView.CurrentRow.Cells(0).Value
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
cmd.CommandText = "Update set Name=@name,Family=@Family,Phone=@Phone Where ID=@ID"
cmd.Parameters.Clear()
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = TextBox1.Text
cmd.Parameters.Add("@Family", SqlDbType.NVarChar).Value = TextBox2.Text
cmd.Parameters.Add("@phone", SqlDbType.Char).Value = TextBox3.Text
UID(cmd)
ConnectionToDB()
DGView.DataSource = ds
DGView.DataMember = "MRG"
End Sub
End Class
amir3321
سه شنبه 13 تیر 1391, 13:30 عصر
با سلام
فکر کنم چون از این تابع ConnectionToDB در هر مرتبه از عملیات ها استفاده می کنی قبل از پر کردن دوباره آن باید یک بار دیتاست را clear نمایید . در همان تابع
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.