PDA

View Full Version : تازه کار و اتصال به پایگاه



سفید برفی
پنج شنبه 27 اردیبهشت 1386, 06:56 صبح
سلام
ببخشید من کد زیر را برای اتصال به پایگاه نوشتم و connection رو هم روی فرم قرار دادم ولی از خط da1.Fill خطای exception مگیره.:افسرده:



private void Form1_load(object sender, System.EventArgs e)
{string str;
str="select * from memeber";
con.Open() ;
SqlDataAdapter da1;
da1=new SqlDataAdapter(str,con);
DataSet ds =new DataSet() ;
da1.Fill (ds,"member");
dataGrid1.DataBindings.Add(new Binding ("DtaSource",ds,"member"));
con.Close() ;
}

mahtab_18
پنج شنبه 27 اردیبهشت 1386, 07:46 صبح
از این کد استفاده کن




private void Form1_load(object sender, System.EventArgs e)


{string str;


str="select * from memeber";


con.Open() ;


SqlDataAdapter da1;


da1=new SqlDataAdapter();


da1.SelectCommand = new SqlCommand();


da1.SelectCommand.Connection = Con;


da1.SelectCommand.CommandText = str;


da1.SelectCommand.CommandType = CommandType.Text;


DataSet ds =new DataSet() ;


da1.Fill (ds,"member");


dataGrid1.DataBindings.Add(new Binding ("DtaSource",ds,"member"));


con.Close() ;


}

choobin84
جمعه 28 اردیبهشت 1386, 04:36 صبح
مشکل می تواند در تعرف connectionstring باشد و یا به این دلیل است که در بانکتان جدول member ندارید.
نوع خطا را مشخص کنید. طریقه استفاده از try catch را که بلدید

مهدی رحیم زاده
جمعه 28 اردیبهشت 1386, 07:17 صبح
طریقه استفاده از try catch را که بلدید
میشه یه توضیح مختصر در ابرشون بدین ...

مهدی رحیم زاده
جمعه 28 اردیبهشت 1386, 07:42 صبح
دوست عزیز ، اگه می خوای که اطلاعات رو از بانک بخونی این یه روشیه که جواب داده دوست داشتی امتحان کن :
اول کد کانکشن من با Access ایجاد کردم شما دوست داشته باشید می تونید با sql این کارو انجام بدی:

OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb");
حالا یه تابع که به وسیله اون می تونید داده ها رو از بانک بخونید :

private DataTable getdata(string c)
{
OleDbDataAdapter da=new OleDbDataAdapter(c,connect);
DataTable dt=new DataTable();
da.Fill(dt);
return dt;
}
حالا شما با این تابع خیلی راحت می تونید داده ها رو از بانک بخونید ، اینجوری :

DataTable dt=new DataTable();
dt = getdata("select * from ،tablename");
که برای شما tablename همون memeber هستش ...
برای insert و update کردن هم دو تا تابع دیگه نوشتم ...
لازم بود بگو اونا رو هم میزارم ...

choobin84
جمعه 28 اردیبهشت 1386, 17:31 عصر
میشه یه توضیح مختصر در ابرشون بدین ...

در برنامه نویسی ممکنه در اجرای برنامه خطاهای مختلفی روی بده ، از جمله خطاهای مربوط به اتصال و عملیات روی بانک اطلاعاتی . بنابراین vs امکانی بسیار جالب و مناسب رو فراهم کرده که می تونیم خطاهایی که ناخواسته در اجرا رخ می دن رو مدیریت کنیم که به مدیریت استثنا ها معروفه.
try
دستوراتی که در بلوک TRY نوشته میشن ، دستوراتی هستند که کامپیوتر باید انجام بده ، حالا ممکنه در اجرای یکی از خطهای این بلوک خطایی اتفاق بیفته، بنابراین کنترل و پردازش خط به داخل بلوک CATCH میره. حالا با توجه به دستوراتی که در این بلوک نوشته اید، پردازش استثنا صورت میگیره.
مثلا


try
{
//insert into table values....
}
catch(Exception) ex
{
Messagebox.Show(ex.message);
}



برنامه ابتدا به اجرای بلوک try می پردازه اگر با خطایی مواجه بشه ، کنترل و پردازش به بلوک catch منتقل می شه، مقدار string خطا را در ex می ریزه و اون رو به شما نشون میده

choobin84
جمعه 28 اردیبهشت 1386, 17:48 عصر
http://www.barnamenevis.org/forum/attachment.php?attachmentid=7469&d=1174411630