ورود

View Full Version : سوال: اجرا و بررسی دستورات SQL در ADODB



one hacker alone
شنبه 08 مرداد 1390, 20:28 عصر
با سلام


با یاد خدا


من با دستورات زیر به SqL2000 وصل شدم و تو datagrid هم میتونیم اطلاعات رو ببینم همون طور که میدونید لیست دیتابیس ها تو جدول sysdatabases هست حالا من میخوام با چک کردن لیست بدونم که دیتابیس مورد نظرم تو لیست هست یا نه


سوالی که برام پیش اومده اینه که چجوری میتونم یه دستور SQL رو اجرا کنم و چجوری میتونم نتیجه این دستور رو بررسی کنم؟




cn.Open "driver={SQL Server};server=(local);uid=;pwd=;database=master"
rs.Open "select name from sysdatabases", cn, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rs





و سوال دیگه اینکه چه زمانی لازمه که من cn و rs یعنی این اتصالات رو Close کنم چون وقتی یه برنامه برای ارتباط با بانک مینویسیم همواره برنامه در حالا تبادل اطلاعات هست آیا جز قسمت back up گیری جایی مجبور به بستن ارتباط میشیم؟

M.T.P
پنج شنبه 13 مرداد 1390, 17:02 عصر
میخوام با چک کردن لیست بدونم که دیتابیس مورد نظرم تو لیست هست یا نه
سوالی که برام پیش اومده اینه که چجوری میتونم یه دستور SQL رو اجرا کنم و چجوری میتونم نتیجه این دستور رو بررسی کنم؟
دستور زیر یک مقدار رو در قیلد Name در جدول sysdatabases جستجو میکند:


Dim Rs As New ADODB.Recordset
Dim StrSql As String
Dim StrDatabaseName As String

StrDatabaseName = "esme database"
StrSql = "Select * From sysdatabases Where Name = '" & StrDatabaseName & "'"
Rs.Open StrSql, Cn, adOpenStatic, adLockPessimistic


و سوال دیگه اینکه چه زمانی لازمه که من cn و rs یعنی این اتصالات رو Close کنم چون وقتی یه برنامه برای ارتباط با بانک مینویسیم همواره برنامه در حالا تبادل اطلاعات هست آیا جز قسمت back up گیری جایی مجبور به بستن ارتباط میشیم؟
در هنگام اجرای برنامه Cn رو باز میکنی و در پایان برنامه Cn رو می بندی.
Rs رو هم هر زمان که بهش نیاز داشتی میتونی باز کنی.

one hacker alone
یک شنبه 16 مرداد 1390, 10:20 صبح
ممنون از پاسختون
حالا من به 2 طریق میتونم دستورات SQL رو اجرا کنم
روش اول:


Dim s As String
co.ActiveConnection = cn
co.CommandType = adCmdText
co.CommandText = "select name from sysdatabases where name='university' "
co.Execute


روش دوم:


strsql = "Select * From sysdatabases Where Name = '" & s & "'"
rs.Open strsql, cn, adOpenStatic, adLockPessimistic
Set DataGrid1.DataSource = rs


حالا در هر دو روش من به نتیجه دستور SQL دسترسی ندارم چجوری میتونم نتیجه دستور رو تو یه متغییر بریزم و بعد بررسی کنم

آیا در روش اول برای اجرای هر دستور SQL باید اون 4 خط کد رو بنویسم؟
اگه از روش دوم برای اجرای دستوراتم استفاده کنم باید در پایان rs رو close کنم بعد دوبارهopen کنم دیگه؟
نمایش داده ها از طریق datagrid فقط در روش دوم وبا rs امکان پذیر هست؟
ایا نمیشه نتیجه دستوراتی که از روش اول اجرا شدن رو تو datagrid نشون بدم؟