برای کار کردن با بانک های اطلاعاتی در دات ابتدا یک طرح کلی از چیز هایی که نیاز داریم مطرح کرده و توضیح خواهم داد:
1- منبع داده یا بانک اطلاعاتی : این بخش که یک برنامه جدا ست مانند Microsoft Access, Microsoft SQL Server 2000, Oracle به نام بانک اطلاعاتی یا دیتابیس شناخته میشوند که وظیفه ذخیره و دسته بندی اطلاعات رو دارند.
2- Provider ها : این بخش شامل مجموعه ای از اشیا و کلاس هاییست که جهت دریافت و ارسال اطلاعات با بانک اطلاعات بکار می روند که اصلی ترین این اشیا عبارتند از :
· Connection: قبل از هر کاری ما مجبوریم به بانک اطالاعاتمون متصل بشیم تا بتونیم با اون تبادل اطلاعات داشته باشیم;این شی این وظیفه رو بر عهده داره و یک اتصال به منبع اطلاعات برای ما ایجاد میکنه. این شی به وسیله یک رشته اتصال که بصورت پارامتریک به این شی پاس میشود دیتابیس مورد نظر را شناسایی و یک اتصال به آن ایجاد مینماید:
انواع رشته های اتصال برای وصل شدن به بانک sql server 2000 :
"Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
- or -
"Server=Aron1;Database=pubs;User ID=sa;Password=asdasd;Trusted_Connection=False"
(both connection strings produces the same result)
"Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"
- or -
"Server=Aron1;Database=pubs;Trusted_Connection=True;"
(both connection strings produces the same result)
(use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000)
"Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IP instead of Named Pipes, at the end of the Data Source is the port to use (1433 is the default))
انواع رشته اتصال برای وصل شدن به بانک Access :
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;"
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:System Database=system.mdw;"
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:Database Password=MyDbPassword;"
البته برای اطلاعات بیشتر میتونید یک سر به این سایت بزنید:
http://www.connectionstrings.com
نحوه ایجاد شی کانکشن و استفاده از رشته اتصال :
Dim SQLConn As SqlConnection = New SqlConnection()
oSQLConn.ConnectionString="my connectionstring"
oSQLConn.Open()
به جای my connectionstring باید یکی از رشته های اتصال فوق رو قرار بدیم.
· Command: پس از اتصال به بانک اطلاعات باید درخواستمون رو از بانک مطرح کنیم که مثلا میخوایم اطلاعات رو بگیریم یا اطلاعات رو اضافه کنیم یا اینکه تغییر بدیم یا هر عمل دیگه ای انجام بدیم; این شی در عمل درخواست ما رو برای بانک تهیه میکنه.این شی نیز به کمک رشته تقاضا که بصورت پارامتریک به این شی پاس میشود دستور مورد نظر را برای دیتابیس ارسال می نماید .
خوب حالا که فهمیدیم باید به بانک اطلاعات فرمان بدیم باید مشخص کنیم که این فرمان از چه نوعیه . معمولا چهار عمل اصلی در بانک اطلاعات انجام میگیره که عبارتند از : دریافت اطلاعات (select) ، افزودن رکورد جدید (insert) ، ویرایش اطلاعات (update) و در نهایت حذف اطلاعات (delete)
Syntax دستو Select به صورت زیر است :
SELECT [ ALL | DISTINCT ]
[ TOP n [ PERCENT ] [ WITH TIES ] ]
< select_list >
< select_list > ::=
{ *
| { table_name | view_name | table_alias }.*
| { column_name | expression | IDENTITYCOL | ROWGUIDCOL }
[ [ AS ] column_alias ]
| column_alias = expression
} [ ,...n ]
Example : Select * From My_Table_name Where My_column_name=My_Value
Syntax دستو Delete به صورت زیر است :
DELETE
[ FROM ]
{ table_name WITH ( < table_hint_limited > [ ...n ] )
| view_name
| rowset_function_limited
}
[ FROM { < table_source > } [ ,...n ] ]
[ WHERE
{ < search_condition >
| { [ CURRENT OF
{ { [ GLOBAL ] cursor_name }
| cursor_variable_name
}
] }
}
Example : Delete From My_Table_name Where My_column_name=My_Value
Syntax دستو Update به صورت زیر است :
UPDATE
{
table_name WITH ( < table_hint_limited > [ ...n ] )
| view_name
| rowset_function_limited
}
SET
{ column_name = { expression | DEFAULT | NULL }
| @variable = expression
| @variable = column = expression } [ ,...n ]
{ { [ FROM { < table_source > } [ ,...n ] ]
[ WHERE
< search_condition > ] }
|
[ WHERE CURRENT OF
{ { [ GLOBAL ] cursor_name } | cursor_variable_name }
] }
Example : Update My_Table_name Set My_column_name=My_Value Where My_column2_name=My_Value2
Syntax دستو Insert به صورت زیر است :
INSERT [ INTO]
{ table_name WITH ( < table_hint_limited > [ ...n ] )
| view_name
| rowset_function_limited
}
{ [ ( column_list ) ]
{ VALUES
( { DEFAULT | NULL | expression } [ ,...n] )
| derived_table
| execute_statement
}
}
| DEFAULT VALUES
< table_hint_limited > ::=
{ FASTFIRSTROW
|HOLDLOCK
| PAGLOCK
| READCOMMITTED
| REPEATABLEREAD
| ROWLOCK
| SERIALIZABLE
| TABLOCK
| TABLOCKX
| UPDLOCK
}
Example : Insert Into My_Table_name (My_column_name) Values (my_Value)