PDA

View Full Version : خطا در adapter.fill(dataset,"نام جدول"(



MOSTAFANAVVAB
دوشنبه 30 اردیبهشت 1387, 16:30 عصر
با سلام خدمت دوستان
با عرض پوزش ..من این پیغام خطا را قبلا هم گرفته بودم ولی به راحتی حلش کردم .در دستوری که در زیر نوشتم وقتی که شرط where را برمیدارم دستور adapter . fill(dataset,"نام جدول")درست کار می کنه واما به دلیل نیاز من به این دستور وقتی اون را تاتپ می کنم دستگا ارور میده
جرا؟

دستورمن جایی که پیغام خطا میگیرم مشخص + علت اون
جایی که خط قرمز و کلفت نوشتم پیغام خطا+جایی که نارنجی و کلفت علت


Imports System.Data.SqlClient
Imports System.Data.Sql
PublicClass Form1
Private sqlcon AsNew SqlClient.SqlConnection()
Private sqladapetr As SqlClient.SqlDataAdapter
Private sqlcommand As SqlClient.SqlCommandBuilder
Private datatable AsNew DataTable
Private z AsInteger = 0
Private d AsNew DataSet
Private sqladapetr1 As SqlClient.SqlDataAdapter
Private sqlcommand1 As SqlClient.SqlCommandBuilder





PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
sqlcon.ConnectionString = ("Data Source=m;Initial Catalog=Mostafa;Integrated Security=True")
sqlcon.Open()
sqladapetr = New SqlClient.SqlDataAdapter("select * From ali_database", sqlcon)
sqlcommand = New SqlClient.SqlCommandBuilder(sqladapetr)
Me.asas()
sqladapetr.Fill(datatable)
sqladapetr1 = New SqlClient.SqlDataAdapter("select * from ali_database where a=" + "'" + TextBox1.Text + "'", sqlcon)
sqladapetr1.Fill(d, "ali_database")
DataGridView1.DataSource = d.Tables("ali_database")

EndSub
PrivateSub asas()
If datatable.Rows.Count = 0 Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
ExitSub
EndIf
TextBox1.Text = datatable.Rows(z)("a").ToString()
TextBox2.Text = datatable.Rows(z)("b").ToString()
TextBox3.Text = datatable.Rows(z)("c").ToString()
EndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If z < (datatable.Rows.Count - 1) Then
z = z + 1
Me.asas()
EndIf
EndSub
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If z > 0 Then
z = z - 1
Me.asas()
EndIf
EndSub
EndClass

baran_mehr
دوشنبه 30 اردیبهشت 1387, 20:36 عصر
سلام
مشکل باید از همون جایی که ضخامت متنشو بزرگتر کردی باشه

where a=" + "'" + TextBox1.Text + "'"
شما یه بعلاوه اضافه گذاشتید...درستش اینه:

where a='" + TextBox1.Text + "'"

MOSTAFANAVVAB
سه شنبه 31 اردیبهشت 1387, 07:42 صبح
دوست عزیز قبلا همین کانکشن
با این کود در دیتابیس اکسس+oledbدرست کار میکرد حلا که اسکیوال شده چرا کار نمی کنه

MOSTAFANAVVAB
سه شنبه 31 اردیبهشت 1387, 07:48 صبح
سلام
مشکل باید از همون جایی که ضخامت متنشو بزرگتر کردی باشه

where a=" + "'" + TextBox1.Text + "'"
شما یه بعلاوه اضافه گذاشتید...درستش اینه:

where a='" + TextBox1.Text + "'"
____________________
در ضمن کدی که پیش نهاد کرده بودیید پیغام خطا داد

baran_mehr
سه شنبه 31 اردیبهشت 1387, 09:41 صبح
سلام
ببین داداش گلم من برای انجام یک دستور select از این کار استفاده میکنم و فرقی هم بین دیتابیس اکسس یا اسکیوال بودنش هم نمیکنه و هر دو تا شو جواب میده

اینا متغیرهای من هستن که اول تعریفشون میکنم:


Dim cnt As New OleDb.OleDbConnection
Dim cmd As New OleDb.OleDbCommand
Dim da As New OleDb.OleDbDataAdapter
Dim dt As New DataTable

و اینم کد دستور select:

cmd.CommandType = CommandType.Text
cmd.CommandText = "select * from tabel_dars where code_dars='" + TextBox8.Text + "' or name_dars='" + TextBox9.Text + "'"
cmd.Connection = cnt
da.SelectCommand = cmd
dt.Clear()
da.Fill(dt)
GridView2.DataSource = dt

MOSTAFANAVVAB
سه شنبه 31 اردیبهشت 1387, 13:07 عصر
دوست عزیز کد حضرت عالی را من هم در برنامه دیگر نوشتم و جوابم گرفتم ولی نمی دونم چرا این کد در اینجا پیغام خطا را مکرر اعلام میکنه
پیغام خطا در دستور فیلد دیتا اداپتر وکه در پرانتز چه دیتا ست باشه چه دیتا تیبل
نشاندهنده سه تا اشکال
1ممکنه که اسم فورم دیتابیس را درست ننوشته باشیم
2 ممکنه که در نوشتن متغییر دیتا ست یا تیبل کلمه نیو جا افتاده باشه
3"اینم الان دچارش شدم و نمی دونم علت چیه"

با ز هم دستور شمارا چک کردم باز هم در اداپتر .فیلد پیغام خطا گرفتم مثل بالا

kablayi
جمعه 03 خرداد 1387, 02:12 صبح
بعضی مواقع اینجوری میشه .. این بلا سر منم اومده ... البته خودش حل شد ...
به جای + از & استفاده کن ببین جواب میده یا نه ... در ضمن موقع نوشتن حتما space رو رعایت کن...


a='" & TextBox1.Text & "'"
و
a='"&TextBox1.Text &"'"

با هم فرق داره ...

baran_mehr
جمعه 03 خرداد 1387, 09:15 صبح
ببخشید MOSTAFANAVVAB جان .یک سوال داشتم میتونی نوع فیلدای جدوات رو بگی مثلا فیلدی از نوع عددی داری یا نه ؟؟

MOSTAFANAVVAB
شنبه 04 خرداد 1387, 07:19 صبح
ببخشید MOSTAFANAVVAB جان .یک سوال داشتم میتونی نوع فیلدای جدوات رو بگی مثلا فیلدی از نوع عددی داری یا نه ؟؟
______________________________
این فیلد یک جورایی ترکیبی
مثلا
pc_006
که امثال این فیلد در دو جدول دیگر هم هست
وقتی کاربر یک پنجره یا یک پرونده رو برای یک شخص خاصی باز میکنه برنامه من اینطوری با درستور where همدیگر را ((فیلد هم نام)) رو صدا میکنند تا رکورد های همدیگر در جدول های مختلف رو نشون بده و همگی اطلاعات مربوط با آقای فلانی رو نشان میدهند

MOSTAFANAVVAB
شنبه 04 خرداد 1387, 07:44 صبح
بعضی مواقع اینجوری میشه .. این بلا سر منم اومده ... البته خودش حل شد ...
به جای + از & استفاده کن ببین جواب میده یا نه ... در ضمن موقع نوشتن حتما space رو رعایت کن...


a='" & TextBox1.Text & "'"
و
a='"&TextBox1.Text &"'"

با هم فرق داره ...

__________________________________________________ ______
کبلایی جان عزیز
من عین همین کد را با دستور selectبا شرطwhere را در همین جدول نوشتم ولی چون از ادشپتر، دیتا تیبل ور فیلد میکنه من اونجا ارور نمی گیرم ولی نمی دونم چرا با شرط where اداپتر نمی تونه دیتا ست رو فیلد کنه
من این دستور رو برای پر کردن خونه های datagridview نیاز دارم

baran_mehr
شنبه 04 خرداد 1387, 12:31 عصر
سلام.
MOSTAFANAVVAB جان یه پیشنهاد میکنم اگه تونستی امتحان کن ببین مشکلت رفع میشه یا نه.
البته شاید از نظر دوستان جالب نباشه،اما امتحان ضرری نداره
نوع فیدت رو از نوع text قرار بده و بعد ببین بازم این مشکلو داری؟؟؟

kablayi
شنبه 04 خرداد 1387, 14:12 عصر
__________________________________________________ ______
کبلایی جان عزیز
من عین همین کد را با دستور selectبا شرطwhere را در همین جدول نوشتم ولی چون از ادشپتر، دیتا تیبل ور فیلد میکنه من اونجا ارور نمی گیرم ولی نمی دونم چرا با شرط where اداپتر نمی تونه دیتا ست رو فیلد کنه
من این دستور رو برای پر کردن خونه های datagridview نیاز دارم

سلام ...
درکت میکنم چون همونجور که گفتم منم مشکل تو رو داشتم به لینک زیر یه سری بزن میبینی ...
http://barnamenevis.org/forum/showthread.php?t=105551

با دستور Where مشکل پیدا کرده بودم و اگر اونو اضاف میکردم ارور میداد ...
ولی نمی دونم که چی شد خودش حل شد ... فکر میکنم اشکالم رعایت نکردن فاصله دبل کوتیشو بود ...

MOSTAFANAVVAB
دوشنبه 06 خرداد 1387, 13:00 عصر
سلام ...
درکت میکنم چون همونجور که گفتم منم مشکل تو رو داشتم به لینک زیر یه سری بزن میبینی ...
http://barnamenevis.org/forum/showthread.php?t=105551

با دستور Where مشکل پیدا کرده بودم و اگر اونو اضاف میکردم ارور میداد ...
ولی نمی دونم که چی شد خودش حل شد ... فکر میکنم اشکالم رعایت نکردن فاصله دبل کوتیشو بود ...
__________________________________________________ ________
عزیزم اثلا ربتی نداره چون وقتی شما در پایان خط اینتر را میزنید
برنامه خود بخود فاصله ها را رعایت می کند
کدی را هم که برای لینک گذاشته بودی فایده نداره چون بحثش چیزه دیگس
قربان شما با تشکر مصطفی نواب

MOSTAFANAVVAB
سه شنبه 07 خرداد 1387, 08:33 صبح
کمک بابا بدادم برسید