PDA

View Full Version : مشکلی در جستجو با ADODC



علی کاکرودی
پنج شنبه 17 خرداد 1386, 13:12 عصر
باسلام ،
من کدزیر را در قسمت CHANGE یک TEXT BOX نوشتم ولی خطا می ده ، می تونین بگین مشکل کجاست ؟ ممنون
CONN.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ToosForjing"
S1.Open "select * from TblElamTolid where CodeTolid like '" & Tcodetolid.Text & "'", CONN, adOpenDynamic, adLockOptimistic

CONN از نوع ADODB.Connection و S1 از نوع ADODB.Recordset می باشد

CodeMasterX
جمعه 18 خرداد 1386, 01:10 صبح
دوست عزیز :

1 - لطف کنید کد ها رو تو تگ های مربوطه قرار بدین که خوانا باشند.
2 - من تو کد شما مشکلی نمی بینم، شما اشاره ای به خطا نکردید، یع عکس از خطا بگیرید یا متنش رو بذارید تا ببینیم چی هست.
3 - احتمالا رشته اتصال شما مشکل دارد (شاید نام دیتابیس یا سرور)

علی کاکرودی
دوشنبه 21 خرداد 1386, 22:29 عصر
من کدرا به صورت زیر تغییر دادم دیگه خطا نمی ده ولی با واردکردن اولین حرف چه درست و چه غلط مقدار مجود در data grid را خالی می کنه و دیگه هیچی را نمایش نمی ده .
درقسمت جنرال فرم متغییرهای زیر را تعریف کردم

Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim s As String
ضمناً عکسی از کد نوشته شده را ضمیمه گذاشتم .

CodeMasterX
دوشنبه 21 خرداد 1386, 23:11 عصر
اول از همه اینکه شما میتونید بجای بستن یک آبجکت و نابود کردنش (Nothing) از نابود کردنش استفاده کنید که خودش بطور خودکار بسته هم خواهد شد.
بعد از اون اینکه به نظر من مراحل زیر رو اجرا کنید :

بجای اینکه یک Command بسازید و بعد منبع داده کنترل ADODC رو به اون نسبت بدید، یک رکوردست باز کنید و اون رو بهش نسبت بدین.و بعد اینکه شما توی عکسی که از کدتون گذاشته بودین هیچ انقیادی به گرید نداده بودین! شاید دستی از پنجره خواص این کار رو انجام دادین.

کد زیر رو ببینید :



Dim CN As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim Sql As String
Dim ConnStr As String

ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database.mdb;Persist Security Info=False"
CN.Open ConnStr

Sql = "SELECT * FROM TableName WHERE Field1 LIKE 'SomeThing' ORDER BY Field1 ASC"
Rs.Open Sql,CN,adOpenStatic,adLockOptimistic

Set DataGrid1.DataSource=Rs

Set Rs = Nothing
Set CN = Nothing


شما میتونید با تغییر در رشته اتصال بالا برای بانک Sql برنامه رو آماده کنید.
نکته دیگه اینکه من شخصا =یشنهاد می کنم اگر در فرمی قرار هست داده هایی رو بخونید و به یک گرید انقیاد کنید (Bind)، رکوردست رو تا هنگامی که فرم باز هست باز نگه دارید و در Unload فرم رکوردست رو هم ببندید.

موفق باشید.