PDA

View Full Version : سوال: خطا: no constructors defined



masiha2500
شنبه 28 آذر 1388, 12:19 عصر
;SqlDataReader DR_PUBLIC=newSqlDataReader()

برای استفاده از این کد sqldatareader را می شناسد اما خطایی با این پیغام می دهد.


Error 4 The type 'System.Data.SqlClient.SqlDataReader' has no constructors defined

لطفا کمک کنید...:لبخندساده:

Sirwan Afifi
شنبه 28 آذر 1388, 12:22 عصر
اگه امکان داره یه کم واضحتر توضیح بدید

fjm11100
شنبه 28 آذر 1388, 12:50 عصر
اين جوابته توي msdn
To create a SqlDataReader, you must call the ExecuteReader (http://barnamenevis.org/forum/d5a78b3c-4993-61d4-b4a0-926715307376.htm) method of the SqlCommand (http://barnamenevis.org/forum/8f141f6d-c736-7235-a826-9776677f2164.htm) object, instead of directly using a constructor.
حالا اگر متوجه نشدي توضيح بدم

M.YasPro
شنبه 28 آذر 1388, 13:14 عصر
یعنی باید یه نمونه از sqldatareader بهش نسبت بدی
مثل کد زیر که یه شی sqldatareader به objReader نسبت میده .

SqlDataReader objReader = sqlcommand.ExecuteReader();

masiha2500
یک شنبه 29 آذر 1388, 10:01 صبح
در form 1 هنگام استفاده از تابع خطای Invalid attempt to call HasRows when reader is closed. را نشان میدهد در واقع متغیر reader وقتی به form1 وارد می شود خالی است با این که static تعریف شده :عصبانی++::عصبانی++::افسرده:

fjm11100
یک شنبه 29 آذر 1388, 10:34 صبح
روشت كلا روش درستي نيس. بهترين روش براي جابجايي داده ها در بين لايه هاي مختلف استفاده از Dataset است.
شما ميتوني ديتاست خودت را اونجايي كه reader را ميسازي و باز ميكني پر كني بعد ديتاست پر شده را بفرستي. در ضمن reader را در آخر كار حتما ببند.

masiha2500
یک شنبه 29 آذر 1388, 10:43 صبح
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.Fill(ds, "t1");

منظورت همین کده .اگه درسته بعدش چیکار کنم لطفا کدش رو بنویسید:چشمک:

fjm11100
یک شنبه 29 آذر 1388, 12:22 عصر
آره بهترين روش اينه اما با reader هم ميتوني پرش كني هرچند كار عجيبيه!!!!!
در ضمن ديتاست را درست پر ميكني فقط اميدوارم يادت باشه كه به آداپتورت Connection string و selectcommand بدي. بعدش هم حالشو ببر ديتاست تو با داده ها پر ميشه و براي دسترسي به اونها كافيه نام جدول كه اينجا t1 است و ايندكس سطر و ستون را بدوني