+1 امتیاز

سلام

اشکال این برنامه چیه که اطلاعات رو در دیتا گرید ویو نشون نمیده

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using  System.Configuration;

namespace sodor
{
    public partial class Form1 : Form
    {
        private string connectionstring = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
        private OleDbConnection dbconnection = new OleDbConnection();

        public Form1()
        {
            InitializeComponent();
            this.dbconnection.ConnectionString = this.connectionstring;
        }
        public DataTable select()
        {
            try
            {
                string qurey = "SELECT prsnli as [شماره پرسنلی],nam as[??? ],family as[??? ???????? ],amozeshkah as[??? ???????? ],dorh as[????],tedad as[????? ],onwan1 as[????? 1],marge1 as[???? 1],data1 as [????? 1],onwan2 as[????? 2],marge2 as [????  2],data2 as[????? 2],onwan3 as [?????3],marge3 as[???? 3],data3 as[????? 3],onwan4 as [????? 4],marge4 as[???? 4],data4 as [????? 4],onwan5 as[????? 5],marge5 as [???? 5],data5 as[????? 5],FORM tab1 ;";
                OleDbCommand com = new OleDbCommand(qurey, this.dbconnection);
                OleDbDataAdapter adapter = new OleDbDataAdapter(com);

                DataTable result = new DataTable();
                adapter.Fill(result);

                return result;

            }
            catch (Exception)
            {
                MessageBox.Show("???   ");
                return null;
            }
            finally
            {
                this.dbconnection.Close();
            }

        }

        private void Form1_Load(object sender, EventArgs e)
        {
          
            this.dataGridView1.DataSource = select();
        }

 

3 پاسخ

+3 امتیاز
سلام یک خطا در کوئری تون هست ویگول اضافه داره آخرش بعد هم شما بجای دیتا تیبل از دیتاست استفاده کنید با همین روش فقط در دیتاسورس نام دیتاست و در دیتاممبر نام جدولتون در کوئری رو بنویسید جواب میده ولی به نظرمن کوئری تون زیاد جالب نیس یعنی بهینه نیس شما میتونید نام هدر رو در یک تابع دیگه تعریف کنید و نیاز نباشه کوئریتون رو این قدر طولانی کنید بازم سوالی داشتین در خدمتم

ببینید اتصال به بانکم مشکل داره

من وقتی تست اتصال رو می زنم open رو نمیده

هیچ خطایی هم نمیده

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using  System.Configuration;

namespace sodor
{
    public partial class Form1 : Form
    {
        private string connectionstring = ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
        private OleDbConnection dbconnection = new OleDbConnection();

        public Form1()
        {
            InitializeComponent();

           dbconnection.ConnectionString = connectionstring;
        }
        public DataSet select()
        {
            try
            {
                string qurey = "SELECT prsnli as [شماره پرسنلی],nam as[??? ],family as[??? ???????? ],amozeshkah as[??? ???????? ],dorh as[????],tedad as[????? ],onwan1 as[????? 1],marge1 as[???? 1],data1 as [????? 1],onwan2 as[????? 2],marge2 as [????  2],data2 as[????? 2],onwan3 as [?????3],marge3 as[???? 3],data3 as[????? 3],onwan4 as [????? 4],marge4 as[???? 4],data4 as [????? 4],onwan5 as[????? 5],marge5 as [???? 5],data5 as[????? 5],FORM tab1 ;";
                OleDbCommand com = new OleDbCommand(qurey, this.dbconnection);
                OleDbDataAdapter adapter = new OleDbDataAdapter(com);

                DataSet result = new DataSet();

                adapter.Fill(result);

                return result;

            }
            catch (Exception)
            {
                MessageBox.Show("???   ");
                return null;
            }
            finally
            {
                this.dbconnection.Close();
            }

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.dbconnection.Open();
            MessageBox.Show(this.dbconnection.State.ToString());
            this.dbconnection.Close();



          
        //    this.dataGridView1.DataSource = select();
        }

           
    }
}

 

تست اتصالش جواب نمیده

توسط (176 امتیاز) 1 9 28
+2 امتیاز
شما حرفه ای هستین یا دارین تازه یاد میگیرین؟ اگر تازه یادمیگیرین به نظرم کانکشنتون رو ساده تعریف کنید همون جایی که یک رشته تعریف کردین همونجا کانکشتون رو تعریف کنید در ضمن تابع شما ایراد داره شما تابع رو فراخوانی نکردین که کاری انجام بشه یا خطایی نشون بده در داخل تابع بعد فیل کردن اطلاعات باید بعدش دیتاسورس گریدویوتون رو به دیتاست و دیتاممبر رو به نام جدول کوئریتون ربط بدین در اصطلاح بایند کنید
در زمان دانشجویی برنامه نوشتم

ولی دیگه کار نکردم

تقریبا تازه دارم یاد میگیرم

میشه  اینو برام واضح تر بگید یا کد بنویسید

« اخل تابع بعد فیل کردن اطلاعات باید بعدش دیتاسورس گریدویوتون رو به دیتاست و دیتاممبر رو به نام جدول کوئریتون ربط بدین در اصطلاح بایند کنید»
توسط (176 امتیاز) 1 9 28
بینید من تو فیلم های آموزشی سایت هم همین روش رو دیدیم
توسط (176 امتیاز) 1 9 28
+3 امتیاز
OleDbCommand com = new OleDbCommand(qurey, this.dbconnection); OleDbDataAdapter adapter = new OleDbDataAdapter(com); DataTable result = new DataTable(); adapter.Fill(result); .dataGridView1.DataSource = result dataGridView1.DataMember= TblName
داخل تابع بعد فیل کردن اطلاعات باید بعدش دیتاسورس گریدویوتون رو به دیتاست و دیتاممبر رو به نام جدول کوئریتون ربط بدین در اصطلاح بایند کنید اگه دقت کنید کد شما رو درس کردم یکم بهم ریخته هس فقط شرمنده خطا های ریزی هم داخل کوئری تون هم هست باید تصحیح بشه خیلی کوئریتون طولانی شده و بخاطر همین خطایابیش سخته
توسط (2,130 امتیاز) 7 26 143
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...