نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل با خواندن اطلاعات از Data Base

  1. #1

    Question مشکل با خواندن اطلاعات از Data Base

    با سلام به همه دوستان عزیز ، من تا حالا با فایل ها زیاد کار کرده ام ، ولی تجربه چندانی

    در کارکردن با DB نداشته ام .

    سوال من : من یک جدول بانک اطلاعاتی در Access ایجاد کرده ام به نام student و نام فایل

    بانک اطلاعاتی university.mdb میباشد ، جدول دارای 3 ستون و دارای فیلد های

    Name , StdNum , Major میباشد ، من با کد زیر میخواهم اطلاعات را از DB خوانده و در یک

    ListBox نشان دهم ، ولی با کد زیر فقط سطر اول جدول نشان داده میشود و بقیه اطلاعات

    سطر های بعدی نشان داده نمی شوند !! ممنون میشم اگه راهنمایی کنید :

    کد برنامه :


    string
    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\university.mdb";
    OleDbConnection con1 = newOleDbConnection(connectionString);
    con1.Open();
    string queryString = "SELECT * FROM student";
    OleDbCommand c1 = newOleDbCommand(queryString);
    c1.Connection = con1;
    OleDbDataReader dr = c1.ExecuteReader();
    object[] list = newobject[10];

    while (dr.Read())
    {
    dr.GetValues(list);
    }
    con1.Close();
    foreach (object obj in list)
    {
    if(obj!=null)
    listBox1.Items.Add(obj);
    }


    متشکر و ممنون .






  2. #2

    Lightbulb نقل قول: مشکل با خواندن اطلاعات از Data Base

    سلام

    یه راه بهت میگم که شاید غیراصولی و غیر استادارد باشه ولی همیشه جواب میده.

    string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\university.mdb";

    DataSet dataSet;
    OleDbDataAdapter dataAdapter;

    try
    {
    dataSet = new DataSet();
    dataAdapter = new OleDbDataAdapter("SELECT * FROM student", connectionString);
    dataAdapter.Fill(dataSet, "StudentTable");
    int tableRowsCount = dataSet.Tables["StudentTable"].Rows.Count;

    if (tableRowsCount > 0)
    {
    for (int count = 0; count < tableRowsCount; count++)
    {
    string name = dataSet.Tables["StudentTable"].Rows[count]["Name"].ToString();
    string stdNum = dataSet.Tables["StudentTable"].Rows[count]["StdNum"].ToString();
    string major = dataSet.Tables["StudentTable"].Rows[count]["Major"].ToString();

    listBox1.Items.Add(stdNum + " " + name + " " + major);
    }
    }
    }
    catch (OleDbException ex)
    {
    MessageBox.Show("Error : " + ex.Message);
    }
    finally
    {
    dataSet = null;
    dataAdapter = null;
    }


    اگه توضیح خواستی بگو برات بزارم
    موفق باشی

  3. #3

    نقل قول: مشکل با خواندن اطلاعات از Data Base

    دوست عزیز برای نمایش اطلاعات یک جدول بهتره از DataGridView استفاده کنی نه از ListBox
    ListBox قابلیت نمایش فقط یک ستون رو داره اما DataGridView در تعداد ستونها چندادن محدودیتی نداره.

  4. #4
    کاربر دائمی آواتار shahab_ss
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    bangkok
    سن
    43
    پست
    434

    نقل قول: مشکل با خواندن اطلاعات از Data Base

    این کد برای نمایش اطلاعاد در ListView هست.
    public void fill_lst()
    {
    try
    {
    MyDbConnection.Open();
    MyDbCommand = MyDbConnection.CreateCommand();

    MyDbCommand.CommandText = "SELECT f1,f2,f3,f4,f5 FROM T1 WHERE f1 = 1";
    OleDbDataReader oleReader = MyDbCommand.ExecuteReader();
    list_T1.Items.Clear();
    /// fill the list box
    ListViewItem lvItem;
    object[] objArray = new object[ 5 ];
    int nColumn = 0;
    while( oleReader.Read() == true )
    {
    nColumn = 0;
    oleReader.GetValues( objArray );

    lvItem = list_T1.Items.Add( objArray.GetValue( nColumn++ ).ToString() );
    for( ; nColumn < 5; nColumn++ )
    {
    lvItem.SubItems.Add( oleReader.GetValue( nColumn ).ToString() );
    }

    }
    MyDbConnection.Close();
    }
    catch( OleDbException exp )
    {
    string strError = exp.Message;
    MessageBox.Show( this, strError, "Exception thrown" );
    MyDbConnection.Close();
    }

    }

  5. #5

    Smile نقل قول: مشکل با خواندن اطلاعات از Data Base

    نقل قول نوشته شده توسط Reza_Yarahmadi مشاهده تاپیک
    دوست عزیز برای نمایش اطلاعات یک جدول بهتره از DataGridView استفاده کنی نه از ListBox
    ListBox قابلیت نمایش فقط یک ستون رو داره اما DataGridView در تعداد ستونها چندادن محدودیتی نداره.
    حرف شما کاملا منطقی و درسته !!! ولی من برای تست کردن کد اینکارو انجام داده بودم ،

    و می خواستم فقط اطلاعات رو بخونم !!!

    ممنون از راهنمایی شما !!!






  6. #6

    نقل قول: مشکل با خواندن اطلاعات از Data Base

    نقل قول نوشته شده توسط sd.CSharpProgrammer مشاهده تاپیک
    سلام

    یه راه بهت میگم که شاید غیراصولی و غیر استادارد باشه ولی همیشه جواب میده.

    string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\university.mdb";

    DataSet dataSet;
    OleDbDataAdapter dataAdapter;

    try
    {
    dataSet = new DataSet();
    dataAdapter = new OleDbDataAdapter("SELECT * FROM student", connectionString);
    dataAdapter.Fill(dataSet, "StudentTable");
    int tableRowsCount = dataSet.Tables["StudentTable"].Rows.Count;

    if (tableRowsCount > 0)
    {
    for (int count = 0; count < tableRowsCount; count++)
    {
    string name = dataSet.Tables["StudentTable"].Rows[count]["Name"].ToString();
    string stdNum = dataSet.Tables["StudentTable"].Rows[count]["StdNum"].ToString();
    string major = dataSet.Tables["StudentTable"].Rows[count]["Major"].ToString();

    listBox1.Items.Add(stdNum + " " + name + " " + major);
    }
    }
    }
    catch (OleDbException ex)
    {
    MessageBox.Show("Error : " + ex.Message);
    }
    finally
    {
    dataSet = null;
    dataAdapter = null;
    }

    اگه توضیح خواستی بگو برات بزارم
    موفق باشی
    =====================================

    دوست عزیز ممنون از راهنمایی شما ، اگه زحمتی نیست یه توضیح مختصری در مورد کد

    بفرمایید !!!

    ممنون و متشکر !!!






قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •