PDA

View Full Version : آموزش: انواع عملیات پایگاه داده DataBase



aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 09:23 صبح
از همه دوستان تقاضا دارم مشکلاتو اصلاح کنن

فهرست




اول ساخت جدولها sqlserver به وصیله
ایجاد سطر جدید و وارد کردن اطلاعات به وصیله SqlCommand
واندن یک فیلد از جدول با PRIMARY KEY اون سطر
ویرایش یک فیلد از دیتا بیس به وسیله PRIMARY KEY
خواندن کل یا چند سطر از جدول و ریختن داخل دیتا تیبل و نمایش در DataGridView
استفاده از دیتا ست و ریلیشن و رابطه
ذخیره اطلاعات دیتا گرید داخل دیتا بیس
نمایش دو جدول دارای رابطه در یک دیتا ویو DataGridView
جستجوی یک رشته در دیتا بیس به وسیله دیتا ست و ذخیره نتایج در آرایه
چک کردن وجود یا عدم وجود یک فیلد شرط در دستور SQL
انتقال سطر انتخاب شده از گری ویو به یک گرید ویو دیگه
ساخت رکورد جدید و وارد کردن متغیرهای vb در فیلدهای جدول
تغیر دادن و به روز کردن فیلدهای جدول
حذف یک سطر از جدول
انتخاب اطلاعات در يک محدوده خاص
تغیر نام نمایشی ستونهای خوانده شده به وسیله دستور Select
ارتباط دو جدول دارای ارتباط
خواندن از دو فیلد و ترکیب با هم
ردیف شدن اطلاعات جدول بر اساس داده های یک فیلد
بک آپ و پشتیبان گیری از دیتا بیس
برگرداندن ریستور کردن بک آپ دیتا بیس
انتخاب بیشترین مقدار در یک فیلد
به دست آوردن مجموع اعداد یک فیلد در جدول
چند دستور sql , محاسبه جمع و میانگین دو فیلد از یک جدول وثبت در جدول دیگر
جستجوی زیر رشته در رشته های سطرهای جدول
اضافه کردن فیلد ( ستون ) جدید به جدول
auto-complete TextBox از دیتا بیس

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 09:32 صبح
اول ساخت دیتا بیس تو sqlserver به وصیله vb
این کانکشن مارو به دیتا بیس Master متصل میکنه(البته باید کانکشن استرینگ برای هر سیستم طراحی شه)
Dim conectionStringMain As String = "Data Source=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Master;Data Source=AONE-PC"
Dim conDataBaseMain As SqlConnection = New SqlConnection(conectionStringMain)
Dim comCreate As String = "CREATE DATABASE DataBaseName"
conDataBaseMain.Open()
Dim sqlComCreate As SqlCommand = New SqlCommand(comCreate, conDataBaseMain)
sqlComCreate.ExecuteNonQuery()
conDataBaseMain.Close()

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 09:37 صبح
دیتا بیس DataBaseName رو ساختیم (اگه ManagementStudio اس کیو ال روی سیستمتون باشه میتونید اسمشو مشاهده کنید)
ولی هر دیتا بیس باید یک یا چند جدول داشته باشه. ساخت دیتا بیس چون دیتابیسی وجود نداره باید کانکشنمونو برای اتصال به دیتا بیس Master که در SQL موجوده
بیسازیم ولی برای ساخت جدولها باید به دیتا بیس اصلی وصل شیم
Dim ConnectionString As String = "Data Source=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DataBaseName;Data Source=AONE-PC"
Dim Connection As SqlConnection = New SqlConnection(ConnectionString)
Dim comCreateTable1 As String = "CREATE TABLE tableName (Name nvarchar(50),lName nvarchar(50),ID int PRIMARY KEY)"
Dim comCreateTable2 As String = "CREATE TABLE tablePhone (PhoneNOm int,Address nvarchar(100),nID int,ID int PRIMARY KEY)"
Dim sqlCom2 As SqlCommand = New SqlCommand(comCreateTable1, Connection)
Dim sqlCom3 As SqlCommand = New SqlCommand(comCreateTable2, Connection)
Connection.Open()
sqlCom2.ExecuteNonQuery()
sqlCom3.ExecuteNonQuery()
Connection.Close()

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 10:00 صبح
ایجاد سطر جدید و وارد کردن اطلاعات به وصیله SqlCommand
Dim comInsert1 As String = "Insert Into tableName (Name,lName) values ('Ali','Ebrahimi') "
Dim sqlComInsert1 As SqlCommand = New SqlCommand(comInsert1, Connection)
Dim comInsert2 As String = "Insert Into tablePhone (PhoneNOm,Address,nID) values (911111111,'Kerman',1) "
Dim sqlComInsert2 As SqlCommand = New SqlCommand(comInsert2, Connection)
Connection.Open()
sqlComInsert1.ExecuteNonQuery()
sqlComInsert2.ExecuteNonQuery()
Connection.Close()

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 10:09 صبح
خواندن یک فیلد از جدول با PRIMARY KEY اون سطر
Dim comSelect As String = "Select Name From tableName Where ID = 1"
Dim sqlComSelect As SqlCommand = New SqlCommand(comSelect, Connection)
Connection.Open()
Dim NameSt As String = sqlComSelect.ExecuteScalar().ToString
Connection.Close()

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 10:16 صبح
ویرایش یک فیلد از دیتا بیس به وسیله PRIMARY KEY
Dim comUpdate As String = "Update tableName Set Name = 'Reza' Where ID = 1"
Dim sqlComUpdate As SqlCommand = New SqlCommand(comUpdate, Connection)
Connection.Open()
sqlComUpdate.ExecuteScalar()
Connection.Close()

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 10:23 صبح
خواندن کل یا چند سطر از جدول و ریختن داخل دیتا تیبل و نمایش در DataGridView
Dim comSelectA As String = "Select * From tableName"
'or
'Dim comSelectA As String = "Select Name,lName,ID From tableName"
'or
'Dim comSelectA As String = "Select Name,lName,ID From tableName Where Name = 'Ali'"
Dim sqlComSelectA As SqlDataAdapter = New SqlDataAdapter(comSelectA, Connection)
Dim DataTableName As New DataTable
Connection.Open()
sqlComSelectA.Fill(DataTableName)

Connection.Close()
DataGridView1.DataSource = DataTableName

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 10:41 صبح
استفاده از دیتا ست و ریلیشن
Private DataSetName As New DataSet



Dim comSelectA As String = "Select * From tableName"
Dim comSelectB As String = "Select * From tablePhone"
Dim sqlComSelectA As SqlDataAdapter = New SqlDataAdapter(comSelectA, Connection)
Dim sqlComSelectb As SqlDataAdapter = New SqlDataAdapter(comSelectB, Connection)
Connection.Open()
sqlComSelectA.Fill(DataSetName, "tableName")
sqlComSelectb.Fill(DataSetName, "tablePhone")
Connection.Close()
DataSetName.Relations.Add("MyRelation", DataSetName.Tables("tableName").Columns("ID"), DataSetName.Tables("tablePhone").Columns("nID"))
DataGridView1.DataSource = DataSetName
DataGridView1.DataMember = "tableName"

در رویداد CellContentClick (روی دیتا گرید دابل کلیک کنیم میاد بالا) این کدو برای کار کردن ریلیشن مینویسیم

DataSetName.Relations("MyRelation").ChildTable.DefaultView.RowFilter = "nID=" & _
DataGridView1.CurrentRow.Cells("ID").Value
DataGridView2.DataSource = DataSetName.Relations("MyRelation").ChildTable

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 11:41 صبح
ذخیره اطلاعات دیتا گرید داخل دیتا بیس




Imports System.IO
Imports System.Data.SqlClient
Public Class frmName

Private ConnectionString As String = "Data Source=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DataBaseName;Data Source=AONE-PC"
Private Connection As SqlConnection = New SqlConnection(ConnectionString)
Private ChAry(2, 0) As String
Private ArySize As Integer = 1


Private Sub frmName_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim comSelectA As String = "Select * From tableName"
Dim sqlComSelectA As SqlDataAdapter = New SqlDataAdapter(comSelectA, Connection)
Dim DataTableA As New DataTable
Connection.Open()
sqlComSelectA.Fill(DataTableA)
Connection.Close()
DataGridView1.DataSource = DataTableA
End Sub

Private Sub DataGridView1_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
ReDim Preserve ChAry(2, 0 To ArySize)
ChAry(0, ArySize - 1) = DataGridView1.CurrentRow.Cells("ID").Value()
ChAry(1, ArySize - 1) = DataGridView1.CurrentRow.Cells("Name").Value()
ChAry(2, ArySize - 1) = DataGridView1.CurrentRow.Cells("lName").Value()
ArySize += 1
End Sub

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Connection.Open()
For l = 0 To ArySize - 1
Dim sqlSaveChengs As String = "Update tableName Set Name = '" + ChAry(1, l) + "' WHERE ID='" + ChAry(0, l) + "'"
Dim sqlComn As SqlCommand = New SqlCommand(sqlSaveChengs, Connection)
Dim sqlSaveChengs2 As String = "Update tableName Set lName = '" + ChAry(2, l) + "' WHERE ID='" + ChAry(0, l) + "'"
Dim sqlComn2 As SqlCommand = New SqlCommand(sqlSaveChengs2, Connection)
sqlComn.ExecuteScalar()
sqlComn2.ExecuteScalar()
Next
Connection.Close()

ReDim Preserve ChAry(2, 0 To 0)
ArySize = 1

End Sub



End Class

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 14:31 عصر
نمایش دو جدول دارای رابطه در یک دیتا ویو DataGridView


Dim sqls As String = "Select * FROM tableName FULL JOIN tablePhone ON tableName.ID=tablePhone.nID"
Dim dadapter As New SqlDataAdapter(sqls, Connection)
Connection.Open()
Dim DataTableName As New DataTable
dadapter.Fill(DataTableName)
Connection.Close()
DataGridView1.DataSource = DataTableName

aliebrahimi1900
سه شنبه 29 اردیبهشت 1394, 14:45 عصر
جستجوی یک رشته در دیتا بیس به وسیله دیتا ست و ذخیره نتایج در آرایه


Dim comSelectA As String = "Select * From tableName"
Dim sqlComSelectA As SqlDataAdapter = New SqlDataAdapter(comSelectA, Connection)
Dim DataTableName As New DataTable
Connection.Open()
sqlComSelectA.Fill(DataTableName)
Connection.Close()

جستجو


Dim ary(0) As String
Dim ArySize As Integer = 0
For Each dRow As DataRow In DataTableName.Rows
If (dRow.Item("Name").ToString = "Ali") Then
ReDim Preserve ary(0 To ArySize)
ary(ArySize) = dRow.Item("ID").ToString
ArySize += 1
End If

Next

niknam_mh
چهارشنبه 30 اردیبهشت 1394, 07:39 صبح
دوست عزیز بسیار عالی است.

hosseinbarnamenevis
چهارشنبه 30 اردیبهشت 1394, 08:05 صبح
سلام
چجوری میشه بوسیله کد sql express یا sqlite رو ساخت؟

emilly
چهارشنبه 30 اردیبهشت 1394, 12:43 عصر
سلام دوست
ببخشید اینجا سوال میپرسم
من یه همچنینن select یی رو نوشتم تا اگه مقدار م توی دیتا بیس موجود باشه یه پیغامی بده اما درست جواب نمیده میشه یه رهنمایی بکنین


dim a as string ="select id from T1 where id=1"
dim b as sqlcommand=new sqlcommand(a,connection)
connection.open()
if a=true then
msgbox("ok")
end if

ebrahim.rayatparvar
چهارشنبه 30 اردیبهشت 1394, 16:28 عصر
سلام دوست
ببخشید اینجا سوال میپرسم
من یه همچنینن select یی رو نوشتم تا اگه مقدار م توی دیتا بیس موجود باشه یه پیغامی بده اما درست جواب نمیده میشه یه رهنمایی بکنین


dim a as string ="select id from T1 where id=1"
dim b as sqlcommand=new sqlcommand(a,connection)
connection.open()
if a=true then
msgbox("ok")
end if

کانکشن شما به چه صورتی نوشته شده و مقدار a رو به این صورت بنویس ببین جواب میده :


"dim a as string = select id from T1 where id = '1'"

emilly
چهارشنبه 30 اردیبهشت 1394, 18:55 عصر
سلام دوست عزیز
خودم فکرمیکنم ایراد باید توی if ام باشه چون وقتی که نتیجه select ام داخل a ریخته میشه وقتی که من میام توی if بررسی میکنم که آیا نتیجه پیدا شده یا نه نمیتونه این رو بفهمه ، توی if چطور بررسی کنم که آیا مقدارم توی دیتا بیسم پیدا شده یا نه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟/

aliebrahimi1900
چهارشنبه 30 اردیبهشت 1394, 19:01 عصر
به این صورت امتحان کن



Dim a As String = "select id from T1 where id=1"
Dim b As SqlCommand = New SqlCommand(a, Connection)
Connection.Open()
Dim c As String = b.ExecuteScalar().ToString

If b <> vbNullString Then
MsgBox("ok")
End If

aliebrahimi1900
چهارشنبه 30 اردیبهشت 1394, 19:07 عصر
سلام دوست
ببخشید اینجا سوال میپرسم
من یه همچنینن select یی رو نوشتم تا اگه مقدار م توی دیتا بیس موجود باشه یه پیغامی بده اما درست جواب نمیده میشه یه رهنمایی بکنین


dim a as string ="select id from T1 where id=1"
dim b as sqlcommand=new sqlcommand(a,connection)
connection.open()
if a=true then
msgbox("ok")
end if



Dim a As String = "select id from T1 where id=1"
Dim b As SqlCommand = New SqlCommand(a, Connection)
Connection.Open()
Dim c As String = b.ExecuteScalar().ToString

If b <> vbNullString Then
MsgBox("ok")
End If

emilly
چهارشنبه 30 اردیبهشت 1394, 19:07 عصر
سلام

برای b این خطا رو داد


Error 1 Value of type 'System.Data.SqlClient.SqlCommand' cannot be converted to 'String'.

aliebrahimi1900
چهارشنبه 30 اردیبهشت 1394, 19:15 عصر
سلام

برای b این خطا رو داد


Error 1 Value of type 'System.Data.SqlClient.SqlCommand' cannot be converted to 'String'.










سلام دوست
ببخشید اینجا سوال میپرسم
من یه همچنینن select یی رو نوشتم تا اگه مقدار م توی دیتا بیس موجود باشه یه پیغامی بده اما درست جواب نمیده میشه یه رهنمایی بکنین


dim a as string ="select id from T1 where id=1"
dim b as sqlcommand=new sqlcommand(a,connection)
connection.open()
if a=true then
msgbox("ok")
end if



Dim a As String = "select id from T1 where id=1"
Dim b As SqlCommand = New SqlCommand(a, Connection)
Connection.Open()
Dim c As String = b.ExecuteScalar().ToString

If c <> vbNullString Then
MsgBox("ok")
End If




درستش کردم اشتباه تایپی بود

aliebrahimi1900
چهارشنبه 30 اردیبهشت 1394, 19:19 عصر
دوست عزیز بسیار عالی است.




ممنون
تشکر

emilly
چهارشنبه 30 اردیبهشت 1394, 19:21 عصر
تشکر
آره حالا وقتی که مقدار توی دیتابیس هستش ok رو میده ولی وقتی مقدار select ام null هستش واسه



Dim c As String = b.ExecuteScalar().ToString

خطا میده !!!!!!!!!!!!!!!!!!!!!!!

aliebrahimi1900
چهارشنبه 30 اردیبهشت 1394, 19:21 عصر
سلام
چجوری میشه بوسیله کد sql express یا sqlite رو ساخت؟

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

emilly
چهارشنبه 30 اردیبهشت 1394, 19:32 عصر
خیلی ممنون که حوصله به خرج دادین و کمک کردین:خجالت:

aliebrahimi1900
چهارشنبه 30 اردیبهشت 1394, 22:57 عصر
تشکر
آره حالا وقتی که مقدار توی دیتابیس هستش ok رو میده ولی وقتی مقدار select ام null هستش واسه



Dim c As String = b.ExecuteScalar().ToString

خطا میده !!!!!!!!!!!!!!!!!!!!!!!
چه خطایی ؟

emilly
چهارشنبه 30 اردیبهشت 1394, 23:04 عصر
از دستور try catch برای رفع خطام استفاده کردم حال نمیدونم تا چه اندازه راه درستی یا اشتباهی باشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

emilly
چهارشنبه 30 اردیبهشت 1394, 23:14 عصر
NullReference Exception was unhandled by user code

aliebrahimi1900
پنج شنبه 31 اردیبهشت 1394, 10:07 صبح
چک کردن وجود یا عدم وجود یک فیلد
شرط در دستور SQL

Dim comSelectA As String = "declare @Counter char(50) ; select @Counter = Name from tableName where ID = 1 ; IF @Counter <> 'NULL' set @Counter = 'True' else set @Counter = 'False'; Select @Counter"

Dim sqlComSelectA As SqlCommand = New SqlCommand(comSelectA, Connection)
Connection.Open()
Dim a As String = sqlComSelectA.ExecuteScalar
Connection.Close()

aliebrahimi1900
پنج شنبه 31 اردیبهشت 1394, 18:26 عصر
انتقال سطر انتخاب شده از گری ویو به یک گرید ویو دیگه

ابتدا یک متغیر عددی تعریف میکنیم سطر های به وجود اومده رو بشمارد

Private Counter As Integer = 0


برای اد کردن کلومن ها وا وارد کردن اطلاعات


Dim b As Integer = DataGridView1.Columns.Count
Dim c As Integer = DataGridView2.Columns.Count
If c = 0 Then
For i = 0 To b - 1
Dim Name As String = DataGridView1.Columns.Item(i).Name.ToString()
DataGridView2.Columns.Add(Name, Name)
Next
End If
DataGridView2.Rows.Add(1)
Dim ali As Integer = DataGridView2.Rows.Count - 1
Dim f As String = Trim(DataGridView2.Columns.Item(0).Name.ToString)
DataGridView2.CurrentCell = DataGridView2(f, ali)
For i = 0 To b - 1
Dim Name As String = DataGridView2.Columns.Item(i).Name.ToString()
Dim aqz As String = DataGridView1.CurrentRow.Cells(Name).Value.ToStrin g
DataGridView2.Rows(Counter).Cells(Name).Value = aqz
Next
Counter += 1

aliebrahimi1900
پنج شنبه 31 اردیبهشت 1394, 18:42 عصر
ساخت رکورد جدید و وارد کردن متغیرهای vb در فیلدهای جدول


Dim Name As String = "علی"
Dim LName As String = "ابراهیمی"
Dim sqlString As String = "Insert into tblName(Name,lName)values(N'" + Name + "',N'" + LName + "')"
Dim com As SqlCommand = New SqlCommand(sqlString, Connection)
Connection.Open()
com.ExecuteScalar()
Connection.Close()

aliebrahimi1900
پنج شنبه 31 اردیبهشت 1394, 18:58 عصر
تغیر دادن و به روز کردن فیلدهای جدول

Dim Name As String = "علی"
Dim LName As String = "ابراهیمی"
Dim sqlString As String = "Update tblName Set Name = N'" + Name + "',lName = N'" + LName + "' Where ID = 1"
Dim com As SqlCommand = New SqlCommand(sqlString, Connection)
Connection.Open()
com.ExecuteScalar()
Connection.Close()

aliebrahimi1900
پنج شنبه 31 اردیبهشت 1394, 19:03 عصر
حذف یک سطر از جدول



Dim Connection As SqlConnection = New SqlConnection(ConnectionString)
Dim sqlString As String = "Delete From tblName Where ID = 1"
Dim com As SqlCommand = New SqlCommand(sqlString, Connection)
Connection.Open()
com.ExecuteScalar()
Connection.Close()

aliebrahimi1900
جمعه 01 خرداد 1394, 10:53 صبح
انتخاب اطلاعات در يک محدوده خاص
، در بين دو مقدار تعيين شده<br>این دستور کلیه Name هارو از جدول tblName که ID اونا بین 5 و 30 هستش میخونه و در دیتا تیبل dTable فیلد میکنه



Dim sqlString As String = "Select Name From tblName Where ID Between 5 And 30"
Dim com As SqlDataAdapter = New SqlDataAdapter(sqlString, Connection)
Dim dTable As New DataTable
Connection.Open()
com.Fill(dTable)
Connection.Close()

aliebrahimi1900
جمعه 01 خرداد 1394, 11:03 صبح
تغیر نام نمایشی ستونهای خوانده شده به وسیله دستور Select
در مثال زیر ستونها Name , lName خوانده شده و بالای اونها نام و فامیل نمایش داده میشود



Dim sqlString As String = "Select Name As 'نام' ,lName As 'فامیل' From tblName"
Dim com As SqlDataAdapter = New SqlDataAdapter(sqlString, Connection)
Dim dTable As New DataTable
Connection.Open()
com.Fill(dTable)
Connection.Close()

aliebrahimi1900
جمعه 01 خرداد 1394, 11:14 صبح
ارتباط دو جدول دارای ارتباط
در مثال زیر Name,lName از جدول tblName و PhoneNon,Address از جدول tablePhone در صورت داشتن رابطه استخراج میشن



Dim sqlString As String = "Select tblName.Name,tblName.lName,tablePhone.PhoneNon,tab lePhone.Address From tblName,tablePhone Where tblName.ID = tablePhone.nID"
Dim com As SqlDataAdapter = New SqlDataAdapter(sqlString, Connection)
Dim dTable As New DataTable
Connection.Open()
com.Fill(dTable)
Connection.Close()

aliebrahimi1900
جمعه 01 خرداد 1394, 11:44 صبح
خواندن از دو فیلد و ترکیب با هم
union




Dim sqlString As String = "Select Name From tblName Where ID = 1 Union Select Name From tblName Where ID = 2"
'or
'Dim sqlString As String = "Select Name From tblName Where ID = 1 Union Select lName From tblName Where ID = 1"
'or
'Dim sqlString As String = "Select Name From tblName Where ID = 1 Union Select PhoneNom From tblPhone Where nID = 1"
Dim com As SqlCommand = New SqlCommand(sqlString, Connection)
Connection.Open()
Dim aa As String = com.ExecuteScalar
Connection.Close()

aliebrahimi1900
شنبه 02 خرداد 1394, 16:20 عصر
ردیف شدن اطلاعات جدول بر اساس داده های یک فیلد
Order By



Connection.Open()
Dim dTable As New DataTable
Dim DataAdapter As SqlDataAdapter = New SqlDataAdapter(New SqlCommand("SELECT * FROM PhoneTable Order By PhoneNom", Connection))
DataAdapter.Fill(dTable )
Connection.Close()

aliebrahimi1900
یک شنبه 03 خرداد 1394, 19:53 عصر
بک آپ و پشتیبان گیری از دیتا بیس





Dim s As String = "BACKUP DATABASE DdataBaseName TO DISK = 'BackUpDdataBaseName.bak';"

Dim dCom As SqlCommand = New SqlCommand(s, Connection)
Connection.Open()

dCom.ExecuteNonQuery()
Connection.Close()




این دستور یک فایل پشتیبان از دیتا بیسمون به مسیر ........\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\BackUpDdataBaseNa me.bak
میسازه که میشه جابجا کرد یا رستور کرد

aliebrahimi1900
یک شنبه 03 خرداد 1394, 20:31 عصر
برگرداندن ریستور کردن بک آپ دیتا بیس



Connection.Open()
Dim s As String = "RESTORE DATABASE DdataBaseName FROM DISK = 'BackUpDdataBaseName.bak';"

Dim dAda As SqlCommand = New SqlCommand(s, Connection)


dAda.ExecuteNonQuery()
Connection.Close()



برای برگرداندن ابتدا باید فایل بک آپ رو به این آذرس انتقال بعد ریستور کرد
........\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\BackUpDdataBaseNa me.bak

این کارو میتونید با کد انجام بدید بعد ریستور کنید بعد فایل کپی شده رو پاک کنید



Dim p As String = "f:\BackUpDdataBaseName.bak"
FileCopy(p, "C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\BackUpDdat aBaseName.bak")
Connection.Open()
Dim s As String = "RESTORE DATABASE DdataBaseName FROM DISK = 'BackUpDdataBaseName.bak';"

Dim dAda As SqlCommand = New SqlCommand(s, Connection)


dAda.ExecuteNonQuery()
Connection.Close()
My.Computer.FileSystem.DeleteFile("C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\BackUpDdat aBaseName.bak")

aliebrahimi1900
یک شنبه 03 خرداد 1394, 20:34 عصر
برگرداندن ریستور کردن بک آپ دیتا بیس



Connection.Open()
Dim s As String = "RESTORE DATABASE DdataBaseName FROM DISK = 'BackUpDdataBaseName.bak';"

Dim dAda As SqlCommand = New SqlCommand(s, Connection)


dAda.ExecuteNonQuery()
Connection.Close()



برای برگرداندن ابتدا باید فایل بک آپ رو به این آذرس انتقال بعد ریستور کرد
........\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\BackUpDdataBaseNa me.bak

این کارو میتونید با کد انجام بدید بعد ریستور کنید بعد فایل کپی شده رو پاک کنید
مثال



Dim p As String = "f:\BackUpDdataBaseName.bak"
FileCopy(p, "C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\BackUpDdat aBaseName.bak")
Connection.Open()
Dim s As String = "RESTORE DATABASE DdataBaseName FROM DISK = 'BackUpDdataBaseName.bak';"

Dim dAda As SqlCommand = New SqlCommand(s, Connection)


dAda.ExecuteNonQuery()
Connection.Close()
My.Computer.FileSystem.DeleteFile("C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\BackUpDdat aBaseName.bak")

aliebrahimi1900
یک شنبه 03 خرداد 1394, 22:11 عصر
انتخاب بیشترین مقدار در یک فیلد




Dim sql As String = "Select MAX(PhoneNom) from tblPhone"
Dim dAda As SqlCommand = New SqlCommand(sql, Connection)

Connection.Open()

Dim max As String = dAda.ExecuteScalar().ToString

Connection.Close()

aliebrahimi1900
چهارشنبه 06 خرداد 1394, 01:34 صبح
به دست آوردن مجموع اعداد یک فیلد در جدول


Dim comSelect As String = "Select Sum(PhoneNom) From tablePhone"
Dim sqlComSelect As SqlCommand = New SqlCommand(comSelect, Connection)
Connection.Open()
Dim jPhoneNom As String = sqlComSelect.ExecuteScalar().ToString
Connection.Close()

aliebrahimi1900
شنبه 09 خرداد 1394, 15:21 عصر
چند دستور sql
محاسبه جمع و میانگین دو فیلد از یک جدول وثبت در جدول دیگر

در این مثال دو جدول داریم به نامهای tableNameJam و tableNameHesab که در جدول حساب حسابهای شخص با یک آیدی مشخص نگه میداریم و در جدول دوم پیوسته جمع حساب و میانگین حساب شخص رو نگه میداریم




Dim ID As String = "1"
Dim SQLSTR As String = "DECLARE @ID int ;set @ID = " + ID + ";Update tableNameJam Set jameHesabFildName = (Select Sum(hesabFildName1) From tableNameHesab Where ID = @ID)," _
+ "mianginHesabFildName = (Select Avg(hesabFildName1) From tableNameHesab Where ID = @ID) Where nID = @ID ;"
Dim sqlcom As SqlCommand = New SqlCommand(SQLSTR, Connection)

Connection.Open()
sqlcom.ExecuteScalar()
Connection.Close()

aliebrahimi1900
پنج شنبه 14 خرداد 1394, 12:11 عصر
جستجوی زیر رشته در رشته های سطرهای جدول
انتخاب فیلدهای رشته ای دارای زیر رشته مورد نظر

در زیر نام سطرهایی که در فیلد Name رشته های شامل "Al" میباشند انتخاب شده اند



Dim sql As String = "Select Name From tableName Where Name like '%Al%'"
Dim dAda As SqlDataAdapter = New SqlDataAdapter(sql, Connection)
Dim table As New DataTable
dAda.Fill(table)
DataGridView1.DataSource = table

h.gheidrlou
جمعه 15 خرداد 1394, 19:59 عصر
ذخیره اطلاعات دیتا گرید داخل دیتا بیس




Imports System.IO
Imports System.Data.SqlClient
Public Class frmName

Private ConnectionString As String = "Data Source=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DataBaseName;Data Source=AONE-PC"
Private Connection As SqlConnection = New SqlConnection(ConnectionString)
Private ChAry(2, 0) As String
Private ArySize As Integer = 1


Private Sub frmName_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim comSelectA As String = "Select * From tableName"
Dim sqlComSelectA As SqlDataAdapter = New SqlDataAdapter(comSelectA, Connection)
Dim DataTableA As New DataTable
Connection.Open()
sqlComSelectA.Fill(DataTableA)
Connection.Close()
DataGridView1.DataSource = DataTableA
End Sub

Private Sub DataGridView1_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
ReDim Preserve ChAry(2, 0 To ArySize)
ChAry(0, ArySize - 1) = DataGridView1.CurrentRow.Cells("ID").Value()
ChAry(1, ArySize - 1) = DataGridView1.CurrentRow.Cells("Name").Value()
ChAry(1, ArySize - 1) = DataGridView1.CurrentRow.Cells("lName").Value()
ArySize += 1
End Sub

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Connection.Open()
For l = 0 To ArySize - 1
Dim sqlSaveChengs As String = "Update tableName Set Name = '" + ChAry(1, l) + "' WHERE ID='" + ChAry(0, l) + "'"
Dim sqlComn As SqlCommand = New SqlCommand(sqlSaveChengs, Connection)
Dim sqlSaveChengs2 As String = "Update tableName Set lName = '" + ChAry(2, l) + "' WHERE ID='" + ChAry(0, l) + "'"
Dim sqlComn2 As SqlCommand = New SqlCommand(sqlSaveChengs2, Connection)
sqlComn.ExecuteScalar()
sqlComn2.ExecuteScalar()
Next
Connection.Close()

ReDim Preserve ChAry(2, 0 To 0)
ArySize = 1

End Sub



End Class



سلام استاد عزیز
من اگه بخوام همچین مشکلی را در سی شارپ حل کنم راه کارچیه؟
من سی شارپی ام میخوام اطلاعات را در دیتا گرید ثبت کنم و در دیتا بیس منتقل کنم یعنی دقیقا کاری که شما برای ویزوال بیسیک کردین

aliebrahimi1900
شنبه 16 خرداد 1394, 14:21 عصر
دوست عزیز سیستم دم دست نیست این برنامه مبدل vb به c# هستش دانلود کن این سورسو تبدیل کن دقیقه یه خورده باید سورس تبدیل شده رو درستش کنی اگه باز مشکل داشتی من عصر خونم برات درستش میکنم
http://p30download.com/fa/entry/54527/

armin001
شنبه 03 مرداد 1394, 13:58 عصر
یه سوال
سلام
مگه primary key نباید خودش تکمیل بشه پس چرا تو این کد ارور میده که ID خالیه؟
Friend con As SqlConnection = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=" & My.Application.Info.DirectoryPath & "\GameData.mdf;Integrated Security=True;Connect Timeout=30") Friend cmd As SqlCommand
cmd = New SqlClient.SqlCommand("Insert Into Account (RealName,AccountName,AccountPass) Values ('" & txtRName.Text & "','" & txtUser.Text & "','" & txtPass.Text & "') ", con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
توجه کنید توی تعریف تیبل id به صورت primary key تعریف شده

با تشکر

aliebrahimi1900
دوشنبه 05 مرداد 1394, 00:01 صبح
دوست عزیز این به ایجاد دیتا بیس و جدول بستگی داره که فیلد ID که PRIMARY KEY هستش رو به صورت IDENTITY تعریف کرده باشید یا خیر
اگه IDENTITY باشه خودش بهش یه ID میده که به ID قبلی یه دونه اضافه کرده
در غیر این صورت اگه IDENTITY نباشه باید حتما در زمان ایجاد سطر جدید به ID هم مقدار بدی

موفق باشید

aliebrahimi1900
سه شنبه 06 مرداد 1394, 09:05 صبح
اضافه کردن فیلد ( ستون ) جدید به جدول




Dim comAddF As String = "ALTER TABLE tblName ADD columnName NVARCHAR(20) NULL"
Dim sqlComAddF As SqlCommand = New SqlCommand(comAddF, Connection)
Connection.Open()
sqlComAddF.ExecuteScalar()
Connection.Close()

s12345
جمعه 06 آذر 1394, 07:09 صبح
پروژه بسیار عالی برای درس پایگاه داده همراه با ER
http://bia2projeh.ir/product/380/%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%AF%D8%B1%D8%B3-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7.html
http://bia2projeh.ir/product/379/%D9%86%D9%85%D9%88%D8%AF%D8%A7%D8%B1-ER-%D9%81%D8%B1%D9%88%D8%B4%DA%AF%D8%A7%D9%87-%D8%B2%D9%86%D8%AC%DB%8C%D8%B1%D9%87-%D8%A7%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87.html

mehran27
سه شنبه 04 اسفند 1394, 02:56 صبح
دوست عزیز این به ایجاد دیتا بیس و جدول بستگی داره که فیلد ID که PRIMARY KEY هستش رو به صورت IDENTITY تعریف کرده باشید یا خیر
اگه IDENTITY باشه خودش بهش یه ID میده که به ID قبلی یه دونه اضافه کرده
در غیر این صورت اگه IDENTITY نباشه باید حتما در زمان ایجاد سطر جدید به ID هم مقدار بدی

موفق باشید





سلام
ممنون اطلاعات خوبی رو در اختیارمون گذاشتید
یه سوال چوری اینکارو بکنیم،
IDENTITY

hs3568
یک شنبه 08 فروردین 1395, 04:08 صبح
خیلی عالی بود .تشکر از پست خوبتون

aliebrahimi1900
سه شنبه 12 تیر 1397, 23:36 عصر
auto-complete TextBox از دیتا بیس
یک textbox داریم که می خواهیم زمانی که کاربر داخل آن تایپ میکند برنامه گزینه ها رو از داخل دیتا بیس پیش بینی کند
کد زیر را در قسمت لود فورم مینویسیم



Dim comSelectA As String = "Select Name From tableName"

Dim sqlComSelectA As SqlDataAdapter = New SqlDataAdapter(comSelectA, Connection)
Dim DataTableName As New DataTable
Connection.Open()
sqlComSelectA.Fill(DataTableName)

Connection.Close()

Dim MySource As New AutoCompleteStringCollection()

For Each item As DataRow In DataTableName.Rows

MySource.AddRange(New String() _
{
item(0).ToString
})


Next

With TextBox1
.AutoCompleteCustomSource = MySource
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource

End With

grease-trap
سه شنبه 30 مرداد 1397, 13:17 عصر
با سپاس فروان مطالب عالی هستن واقعا مرسی برادر گرامی . (http://grease-trap.ir) :تشویق::تشویق::تشویق::تشویق:: لب::قلب::قلب::قلب::قلب::قلب::ت ویق::تشویق::تشویق::تشویق: