PDA

View Full Version : آموزش استفاده از sql در VB



hidensoft
پنج شنبه 20 اردیبهشت 1386, 13:52 عصر
سلام
آقا این لطف رو بکنید هر کسی بلده باید چطوری از sql Server توی ویژوال بیسیک استفاده کرد لطفا بگه.
سرچ کردیم جواب نداد. پست رو نبندید بگید چرا سرچ نکردی. یکی دو نفر هم سوال پرسیده بودن ولی جوابی داده نشده بود.

موفق و پیروز باشید

AminSobati
پنج شنبه 20 اردیبهشت 1386, 14:06 عصر
دوست عزیز منظورتون از "استفاده sql Server توی ویژوال بیسیک" چیه؟
چون SQL Server درون چیزی استفاده نمیشه! اگر منظورتون Connect شدن از VB به SQL Server هست باید از ADO و Connection Object استفاده کنین

hidensoft
پنج شنبه 20 اردیبهشت 1386, 15:09 عصر
سلام

منظورم اینه که یه برنامه بنویسیم با ویژوال بیسیک که توی اون از دیتا بیس sql استفاده کنیم. یا بهتر بگم روش ساخت پایگاه داده sql توی vb.

من برنامه هایی رو دیدم که توشون از sql server استفاده شده. اگه می شه یه توضیح بدید چرا از sql server توی برنامه ها استفاده می شه. بطور مثال توی سیستم بانک تجارت اگه یه سیستمی sql server نداشته باشه هیچ کاری نمی تونه بکنه.

bad_boy_2007
یک شنبه 23 اردیبهشت 1386, 21:05 عصر
آقا منم شدیدا احتیاج دارم !!!!
در به در دنبال همچین آموزشیم ولی گیرم نیومده یعنی میدونی چیه ! با sql کار کردم بانک رو هم ایجاد کردم با شئ ado هم بهش وصل شدم مشکلی نداشتم فقط میخوام بدونم چطور میشه این تنظیمات رو رو اشیائ دیگه مثل dao انجام بدم یا در زمان اجرا conection string مقدار دهی بشه . و اینکه چطور بانک رو زمان اجرا ایجاد کنم . قبلا با اکسس کار میکردم تو هیچ کودوم از موارد فوق مشکل نداشتم ولی با sql نمیدونم باید چطور کار کنم ممنون میشم راهنمایی کنین .
اگر منبع هم معرفی کنین یا سورس که چه بهتر .

bad_boy_2007
یک شنبه 23 اردیبهشت 1386, 22:59 عصر
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As ADODB.Recordset
Dim sConnString As String
Dim iCtr As Integer
'MAKE SURE YOU HAVE LATEST VERSION OF
'OLE DB PROVIDERS, WHICH YOU CAN GET AT
'http://www.microsoft.com/data
'BE SURE TO INCLUDE A REFERENCE TO MICROSOFT
'ACTIVE X DATA OBJECTS IN YOUR PROJECT
' IF SQL SERVER USE SOMETHING LIKE THIS
'Data Source = Server Name
'Initial Catalog = Database
'Use your own user names and password
sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=mypassword;Initial Catalog=MyDatabase;Data Source = MySQLServer;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"
'IN ACCESS USE SOMETHING LIKE THIS:
'Change Data Source to full path of database
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyDatabase.mdb"

conn.Open sConnString
Set cmd.ActiveConnection = conn
'REPLACE MYTABLE WITH YOUR OWN TABLE
cmd.CommandText = "SELECT * FROM MYTABLE"
cmd.CommandType = adCmdText
Set rs = cmd.execute
Do While Not rs.EOF
For iCtr = 0 To rs.fields.Count - 1
'OutPuts Name and Value of each field
Debug.Print rs.Fields(iCtr).Name & ": " & _
rs.Fields(iCtr).Value
Next
rs.MoveNext
Loop
Set rs = Nothing
Set cmd = Nothing
conn.Close
Set conn = Nothing

bad_boy_2007
یک شنبه 23 اردیبهشت 1386, 23:00 عصر
میشه در مورد این توضیح بدین ؟


sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=mypassword;Initial Catalog

bad_boy_2007
یک شنبه 23 اردیبهشت 1386, 23:01 عصر
میشه در مورد این توضیح بدین ؟

sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=mypassword;Initial Catalog

MehranZand
یک شنبه 23 اردیبهشت 1386, 23:14 عصر
میشه در مورد این توضیح بدین ؟

sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=mypassword;Initial Catalog

رشته اتصال یا ConnectionString . اطلاعاتی که برای اتصال به بانک اطلاعاتی ضروری است.
البته اتصال ها صورت های مختلفی داره که این یکی بوسیله یوزر و پسورد انجام شده
اونم یوزر (sa (systemAdministrator

hidensoft
دوشنبه 24 اردیبهشت 1386, 09:06 صبح
سلام
یکی پیدا نشد به ما یه آموزش sql بده.

AminSobati
دوشنبه 24 اردیبهشت 1386, 09:45 صبح
دوست عزیزم Forum محل رفع اشکاله. آموزش رو باید از جای دیگه بدست بیارین و سوالات خودتون رو اینجا مطرح کنین.

bad_boy_2007
دوشنبه 24 اردیبهشت 1386, 18:59 عصر
رشته اتصال یا ConnectionString . اطلاعاتی که برای اتصال به بانک اطلاعاتی ضروری است.
البته اتصال ها صورت های مختلفی داره که این یکی بوسیله یوزر و پسورد انجام شده
اونم یوزر (sa (systemAdministrator

میشه کامل تر بگین که باید دقیقا پارامتراش رو چطور تنظیم کنم ؟ :لبخندساده:

یعنی میخوام بدونم پارامترهاش رو دقیقا باید چطور تنظیم کنم ؟

sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=mypassword;Initial Catalog=MyDatabase;Data Source = MySQLServer;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"

benighted.boy
دوشنبه 24 اردیبهشت 1386, 19:31 عصر
دوست عزیز این خط یه دستور استاندارد هست و تغیری توش نمیتونی بدی.فقط قسمت User IDو Passwordرو می تونی بر اساس پرامتری که تو DBست کردی تنظیم کنی .یعنی نوع DBوپسورد(در صورت داشتن )DB
بقیه قسمت ها دستورات استانداردی هست که توش تغیری نمیتونی بدی و باید به همون شکل استاندارد استفاده کنی

bad_boy_2007
سه شنبه 25 اردیبهشت 1386, 17:25 عصر
ولی من نه واسه بانکم و نه واسه خود sql پسورد نزاشتم وقتی این 2 بخش رو خالی میکنم اخطار میده میشه راهنمایی کنین باید چیکار کنم ؟:بوس:

benighted.boy
سه شنبه 25 اردیبهشت 1386, 20:11 عصر
به این شکل بنویس

sConnString = "Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=MyDatabase;Data Source = MySQLServer;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"
پسورد رو از خط حذف کن نه اینکه جاشو خالی کن.
توی دستورات اینطوری که حالت استاندارد دارن یه سری پارامترها اجباریه.از جمله نام DB اما یه سری پارامترها در صورت وجود یا نیاز مورد استفاده قرار میگیرن .از جمله پسورد و paket size.این طور پارامترها که اختیارین زمانی که نیاز نداری نباید قید کنی.
امید وارم مشکلت رو درست فهمیده باشم.اگه بازم خطا داد خطاطو بگو تا بیشتر کمکت کنم
موفق باشی

MehranZand
سه شنبه 25 اردیبهشت 1386, 21:19 عصر
انواع ConnectionString ها در بانک های مختلف و در حالت های مختلف رو می تونی اینجا
پیدا کنی: http://connectionstrings.com/

Hossein Bazyan
چهارشنبه 26 اردیبهشت 1386, 10:56 صبح
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As ADODB.Recordset
Dim sConnString As String
Dim iCtr As Integer
'MAKE SURE YOU HAVE LATEST VERSION OF
'OLE DB PROVIDERS, WHICH YOU CAN GET AT
'http://www.microsoft.com/data
'BE SURE TO INCLUDE A REFERENCE TO MICROSOFT
'ACTIVE X DATA OBJECTS IN YOUR PROJECT
' IF SQL SERVER USE SOMETHING LIKE THIS
'Data Source = Server Name
'Initial Catalog = Database
'Use your own user names and password
sConnString = "Provider=SQLOLEDB.1;User ID=sa;password=mypassword;Initial Catalog=MyDatabase;Data Source = MySQLServer;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"
'IN ACCESS USE SOMETHING LIKE THIS:
'Change Data Source to full path of database
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyDatabase.mdb"

conn.Open sConnString
Set cmd.ActiveConnection = conn
'REPLACE MYTABLE WITH YOUR OWN TABLE
cmd.CommandText = "SELECT * FROM MYTABLE"
cmd.CommandType = adCmdText
Set rs = cmd.execute
Do While Not rs.EOF
For iCtr = 0 To rs.fields.Count - 1
'OutPuts Name and Value of each field
Debug.Print rs.Fields(iCtr).Name & ": " & _
rs.Fields(iCtr).Value
Next
rs.MoveNext
Loop
Set rs = Nothing
Set cmd = Nothing
conn.Close
Set conn = Nothing


سلام
کد جالبی بود اما این کد از فایل میخواند نه از بانک SQL
حال من سوال دیکری هم دارم و اینکه اکر بخواهیم رکوردهای موجود همزمان در بانک SQL هم ذخیره شوند چکار باید کرد؟


آیا با ذخیره در بانک موجود در ریشه (که خودتان به آن اشاره کردید C:\Mydatabase.mdb) همزمان در بانک sql هم ذخیره میشود ؟

benighted.boy
چهارشنبه 26 اردیبهشت 1386, 12:25 عصر
الان VB دورو برم نیست که دقیقا بگم اما تا اونجا که یادمه میتونی رکوردهاتو از یک بانک مثلا Accees بخونی و تو یه متغیر بریزی بعد ازروی اون متغیر در بانک دیگه مثل SQL قرار بدی
درست مثل حالتی که بخوای یک رکورد با فیلدهای مختلف رو از جدول بخونی و در داخل یک TextBoxبریزی یا بر عکس از TextBox به جدول انتقال بدی.حسن این راه اینه میتونی رکوردهایی که انتقال پیدا میکنن رو کنترل کنی و عیبی هم که داره اینه که رکوردها خط به خط انتقال پیدا می کنن و اگه حجم رکوردها (تعداد رکوردها) زیاد باشن زمان زیادی هم صرف میشه .راههای دیگه ای هم وجود داره که من دنبالش نرفتم :لبخند:

bad_boy_2007
چهارشنبه 26 اردیبهشت 1386, 20:47 عصر
:لبخند: :بوس: از همتون متشکرم کارم راه افتاد . ممنون

CodeMasterX
چهارشنبه 26 اردیبهشت 1386, 23:50 عصر
بهتر نبود این تاپیک توی بخش VB مطح میشد ؟
قبلا هم دربارش بحث شده.