PDA

View Full Version : سوال: مشکل در استفاده از دیتاتیبل



hercool
یک شنبه 13 مرداد 1392, 21:15 عصر
سلام دوستان
یه مشکل دارم من یه جدول دارم تو دیتابیس و می خوام مقادیر دو فیلد رو بریزم توی دیتاتیبل
اما وقتی اجراش می کنم اروری نمیده اما مقادیر رو هم تو دیتا تیبل پر نمیکنه
نمی دونم باید row رو استفاده کنم یا نه
کد رو ببینید ممنون میشم راهنماییم کنید
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=bourse;Integrated Security=True");
con.Open();
SqlCommand com = new SqlCommand("SELECT inname, incode FROM dbo.Industry",con);
SqlDataAdapter ada = new SqlDataAdapter(com);
DataTable tab = new DataTable();
//string[] columnNames = tab.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray();

tab.Columns.Add("value",typeof(int));
tab.Columns.Add("name",typeof(string));
ada.Fill(tab);
MessageBox.Show("" + tab);
LineSeries line = new LineSeries();
radChartView2.Series.Add(line);


line.ValueMember = Convert.ToString( tab.Columns[0]);
line.CategoryMember = Convert.ToString(tab.Columns[1]);
line.DataSource = tab;

hercool
دوشنبه 14 مرداد 1392, 10:24 صبح
دوستان از reader هم استفاده کردم اما بازم جوابی نگرفتم ممنون میشم راهنماییم کنید
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=bourse;Integrated Security=True");
con.Open();
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandText = "SELECT inname, incode FROM dbo.Industry";
//com.CommandType = CommandType.Text;
SqlDataAdapter ada = new SqlDataAdapter(com);
DataTable tab = new DataTable();
//string[] columnNames = tab.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray();
SqlDataReader reader = com.ExecuteReader();
tab.Clear();
tab.Load(reader);
reader.Close();
tab.Columns.Add("value",typeof(int));
tab.Columns.Add("name",typeof(string));
ada.Fill(tab);
MessageBox.Show("" + tab);

sohil_ww
دوشنبه 14 مرداد 1392, 11:01 صبح
چرا فقط دو مقدارو از دیتاتیبل واکشی نمی کنی منظورم اینه که اطلاعات کامل بریز بعد دو تا فیلد فراخوانی کن

veniz2008
دوشنبه 14 مرداد 1392, 11:21 صبح
سلام.
کار کردن با دیتاتیبل خیلی راحته. نمیدونم چرا اینقدر سختش کردید:

SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=bourse;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("SELECT inname, incode FROM Industry", con);
DataTable dt = new DataTable();
da.Fill(dt);
MessageBox.Show(dt.Rows[0][0].ToString());

hercool
دوشنبه 14 مرداد 1392, 11:56 صبح
ممنون بابت پاسخت
فقط یه مشکل دیگه دارم اونم مربو میشه که چطور می تونم مقادیر همه ستون ها رو بریزم داخل لاین سورس
LineSeries line = new LineSeries();
radChartView2.Series.Add(line);


line.ValueMember = Convert.ToString( dt.Columns[0]);
line.CategoryMember = Convert.ToString(dt.Columns[1]);

چون کد مرجعی که دارم مشکلی نداشت و مقادیر رو بهش اختصاص داده اما من با همون شیوه بازم مشکل دارم
DataTable table = new DataTable();
// table.Columns.Add("Value", typeof(double));
// table.Columns.Add("Name", typeof(string));
// table.Rows.Add(1, "John");
// table.Rows.Add(3, "Adam");
// table.Rows.Add(5, "Peter");
// table.Rows.Add(12, "Sam");
// table.Rows.Add(6, "Paul");

// LineSeries lineSeria = new LineSeries();
// radChartView1.Series.Add(lineSeria);

// lineSeria.ValueMember = "Value";
// lineSeria.CategoryMember = "Name";
// lineSeria.DataSource = table;

veniz2008
دوشنبه 14 مرداد 1392, 12:17 عصر
شما نیاز نیست خودت از دیتاتیبل بیرون بکشی و نسبت بدی. فقط کافیه نام فیلد مورد نظر رو وارد کنید :

lineSeria.DataSource = dt;
line.ValueMember = "incode";
line.CategoryMember = "inname";