سلام دوستان :
من همیشه برای پرکذدن گریدویو از ویزارد استفاده می کنم میخواستم ببینم چطوری میشه کاری کرد که با برنامه نویسی پر بشه کسی میتونه با یه مثال کوچک کمک کنه ممنون
سلام دوستان :
من همیشه برای پرکذدن گریدویو از ویزارد استفاده می کنم میخواستم ببینم چطوری میشه کاری کرد که با برنامه نویسی پر بشه کسی میتونه با یه مثال کوچک کمک کنه ممنون
سلام دوست عزیز من همیشه 1 تابع اول برنامم تعریف میکنم و تو فرم لود اونا صدا میزنم
public void showtabl()
{
var q = from cu in da.Customers
select new { کد = cu.id, نام = cu.name, فامیلی = cu.family, آدرس = cu.address, تلفن = cu.tell };
dvg_manage.DataSource = q;
}
این کدهای اتصال به دیتابیس :
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|Database.mdb");
OleDbCommand command = new OleDbCommand();
DataTable dataTable = new DataTable();
DataSet dataSet = new DataSet();
OleDbDataAdapter dataAdapter;
برای پر کردن دیتاگرید ویو هم در Load فرم بنویس : به جای دیتاست هم میتونی از دیتاتیبل استفاده کنی.
command.CommandText = "select * from TableName";
command.Connection = connection;
dataAdapter.Fill(dataSet);
dataGridView.DataSource = dataSet;
dataGridView.DataMember = "TableName";
من با sql کار میکنم این قسمتهاش یک نا مفهومه برام
DataTable dataTable = new DataTable();
DataSet dataSet = new DataSet();
OleDbDataAdapter dataAdapter;
فرقی نمیکنه شما اول این رفرنس رو در قسمت using ها اضافه کن :
using System.Data.SqlClient
حالا در همه قسمت ها به جای OleDb بنویس SQL مثلا برای کامند این جوری می نویسی :
SqlCommand command = new SqlCommand();
درمورد کدهای زیر هم شما می تونی از dataSet یا از dataTable استفاده کنی و فقط با یکیش کار کنی. از dataAdapter هم به عنوان رابطی بین دیتابیس و دیتاست استفاده میشه.
DataTable dataTable = new DataTable();
DataSet dataSet = new DataSet();
OleDbDataAdapter dataAdapter;
خوب الان این دیتا ست یا دیتا تیبل به چی وصل شده ؟؟؟؟؟؟
یکم گیج شدم اصلا الان اینجا هیچ ارتباطی برقرار نیست
command.CommandText = "select * from TableName";
command.Connection = connection;
dataAdapter.Fill(dataSet);
dataGridView.DataSource = dataSet;
dataGridView.DataMember = "TableName";
خوب مشخصه دیگه شما ابتدا یک کانکشن به دیتابیس ایجاد میکنی. بعد توی لود فرم با اجرای یک دستور command یک کوئری به یکی از جداول دیتابیس میزنی و اطلاعات داخل جدول دلخواهی از دیتابیس رو میخونی. حالا به وسیله دیتا آداپتور این اطلاعات رو به داخل دیتاست منتقل میکنی ( به اصطلاح دیتاست رو با دیتا آداپتور Fill می کنی)
حالا باید دیتا گرید ویو رو به دیتاست و به جدول دلخواهی از دیتاست متصل کنی که با ویژگی dataSource دیتاگرید ویو - یک منبع رو برای دیتاگرید ویو مشخص میکنی و با ویژگی dataMember هم جدول مورد نظر از دیتاست رو به دیتاگرید ویو متصل میکنی.
متوجه شدی؟
دوستان خواهش میکنم کمک کنیدنوشته های این دوست عزیز هیچ کمکی به من نکرد این کدهای منه تا اینجایی که بلد بودم
string id = Request.QueryString["id"];
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=cndata;Integrated Security=True");
SqlCommand com = new SqlCommand("SELECT * FROM table_1 where id=@id",con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet mydataset = new DataSet();
da.Fill(mydataset,اینجا؟؟؟);
GridView1.DataBind();
بقیشو واقعا موندم البته یه راهنمایی خوب میخوام
آخرین ویرایش به وسیله boysilent : جمعه 12 خرداد 1391 در 16:47 عصر
string connstr = "Data Source=saman-pc;Initial Catalog=University;Integrated Security=True";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlDataAdapter MsgAdapter = new SqlDataAdapter();
DataSet MsgDataSet = new DataSet();
MsgAdapter.SelectCommand = new SqlCommand();
MsgAdapter.SelectCommand.Connection = conn;
MsgAdapter.SelectCommand.CommandText = "select * From lesson Where ID like '%" + textBox1.Text + "%'";
MsgAdapter.SelectCommand.CommandType = CommandType.Text;
MsgAdapter.Fill(MsgDataSet, "lesson");
findlessongrid.DataSource = MsgDataSet;
findlessongrid.DataMember = "lesson";
conn.Close();
findlessongrid نام دیتاگرید هست
اینو هم بسته به نیازت تغییر بده
"select * From lesson Where ID like '%" + textBox1.Text + "%'"
سلام دوست عزیز
من به شما پیشنهاد می کنم یه کتاب ADO.NET بخری و مطالعه کنی.
حالا برای کد شما
string id = Request.QueryString["id"];
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=cndata;Integrated Security=True");
SqlCommand com = new SqlCommand("SELECT * FROM table_1 where id=@id",con);
خوب حالا اینجا باید یه پارامتر تعریف کنی، چون دستورت اینطوری میگه
SqlParameter paramID = new SqlParameter("@id", SqlDbType.VarChar);
paramID.Value = id;
حالا این پارامتر رو اضافه می کنی به شئ command
com.Parameters.add(paramID);
حالا بقیه کدها
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet mydataset = new DataSet();
da.Fill(mydataset)
GridView1.DataSource = mydataset;
GridView1.DataBind();
امیدوارم که کدها رو بفهمی.
من باید بدون ado کار کنم برادر جااننننننن//عزیزم جیگرجانننن///بعدشم من نباید اونجوری با پارامتر بگیرم ؟؟من فقط گفتم مشکل این چیه
string id = Request.QueryString["id"];
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=cndata;Integrated Security=True");
SqlCommand com = new SqlCommand("SELECT * FROM table_1 where id=@id",con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet mydataset = new DataSet();
da.Fill(mydataset,اینجا؟؟؟);
GridView1.DataBind();
دوستان من ado نباید کار کنم ؟اوکییی
ااقای فخز اوری یه نیگاه به این کدم بتداز ببین این قسمت چی باید بنویسم ؟؟؟
string id = Request.QueryString["id"];
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=cndata;Integrated Security=True");
SqlCommand com = new SqlCommand("SELECT * FROM table_1 where id=@id",con);
com.Parameters.AddWithValue("@id", SqlDbType.VarChar);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet mydataset = new DataSet();
da.Fill(mydataset,اینجا؟؟؟);
GridView1.DataBind();
من که منظور شما رو نفهمیدم!!
شما میگی میخوای با برنامه نویسی گرید رو پر کنی، بعد میگی ADO نمی خوای استفاده کنی! پس چطوری میخوای پارامتر رو پاس کنی به دیتابیس یا بقیه کارا؟!!
کد زیر رو هم که میگی برای این استفاده میشه که یک اسم دلخواه به جدولی که کدت برمیگردونه بدی، برای زمانی خوبه که توی دیتاست چندتا جدول رو لود کردی بعد میتونی دیتاسورست رو انتخاب کنی با اون اسم!
da.Fill(mydataset, "table1");
string id = Request.QueryString["id"];
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=cndata;Integrated Security=True");
SqlCommand com = new SqlCommand("SELECT * FROM table_1 where id=@id",con);
com.Parameters.AddWithValue("@id", SqlDbType.VarChar);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet mydataset = new DataSet();
da.Fill(mydataset);
GridView1.DataBind();
الان برنامه درسته ولی گرید رو پر نمیکنه ایدی هم ارسال میشه؟
نه بازم نشد برادر//دوستان بنظرتون در قسمت design همون قسمتی که اچ تی ام ال هست چیزی نمیخواد نوشته بشه؟
ای بابا، آقا پس چرا DataSource رو ست نکردی، من که تو کد قبلی نوشته بودم!
GridView1.DataSource = mydataset;
GridView1.DataBind();
آخرین ویرایش به وسیله mahdi.bagheri : شنبه 13 خرداد 1391 در 08:48 صبح
دوستان عزیز من متوجه شدم //خیلی ممنون ولی نمیدونم چرا پر نمیشه به این کد بنده دقت کنید؟؟
textBox1.Text=txtyear.Text+"/"+txtmonth.Text+"/"+txtday.Text;
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=hesabdar;Integrated Security=True");
con.Open();
SqlCommand com = new SqlCommand("SELECT * FROM factor WHERE idfactor='"+txtidfact.Text+"' AND '"+textBox1.Text+"'",con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds;
البته به sql هم گیر میده ودر قسمت fiil کردن توقف میکنه؟
به نام تنها برنمامه نویس هستی
سلام ,
نکته خیلی مهم در مورد این دستور
SqlCommand com = new SqlCommand("SELECT * FROM factor WHERE idfactor='"+txtidfact.Text+"' AND '"+textBox1.Text+"'",con);
از این روش استفاده نکن برای مقداردی فیلدها . برای جلو گیری از Inject . از پارامتر ها استفاده کن.
کد بالا درست (با پارامتر ها اصلاحش کن)
و اما این کد
da.Fill(ds);
معنی این کد این است که
پر کن . برای مثال Dataset نمونه سازی شده یا همان (ds) از چه اطلاعاتی .
از اطلاعات جدول شما ره 1 که می شه
da.Fill(ds,"table1");
ممنون ولی ما فقط یه جدول داریم//فک نکنم نیازی باشه//برنامه دیگه خطا نداره و تنها مشکل اینه که DATABIND رو اصلا نمیشناسه //زیرش قرمز میشه//اصلا توی خاصیت ها نیست؟
اصلا نگران نباش
binddata برای asp.net
اینو اضافه کن
dataGridView1.DataBindings.Clear();
dataGridView1.DataBindings.Add(new Binding("datasource",ds,"table1"));
اسم جدولتو جایگزین کن .
نشد داداش ؟؟به دیتا سورس گیر میده ؟؟
راه دیگه ای نداره ؟؟بنظرم باشه ها؟
از این استفاده کن
ذوست عزیز شما زحمت کشیدی ولی من میخوام کذهای خودمو کامل کنم و چیزی بفهمم //وگرنه کد اماده که در وب زیاد هست/دوست عزیز
کجا شو متوجه نمی شیید
کد ها خیلی ساده هستند
به این جا سر بزن
howprg.blogfa.com
در زمینه Ado.Net تحقیق کنید
دوستان بنظرتون این برنامه رو چطوری میتونم کامل کنم یعنی راهی نداره؟
با هزارتا راه می تونید این کارو انجام بدید
از linq to sql استفاده کن
دوستان کامل شد
ککم.ن از لطف تون
ولی الان همه فیلد ها میاد و هدر ها هم انگلیشه باا برنامه نویسی میشه کاری کرد یا باید از طریق ویزارد؟؟؟
آخرین ویرایش به وسیله boysilent : پنج شنبه 18 خرداد 1391 در 21:25 عصر
ممنون اگه بخوایم یک ستون کامل نشون داده نشه چی دادا؟
کامل یعنی چی رفیق ؟
مثلا 4 تا فیلد id,name,buy,date داریم میخوایم id نشون داده نشه؟؟؟؟
این استفاده کن
dataGridView1.Columns[0].Visible = false;