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

نام تاپیک: مشکل در اتصال سی شارپ و اکسس

  1. #1

    Unhappy مشکل در اتصال سی شارپ و اکسس

    با سلام خدمت اساتید

    مشکلی دارم که خواهشمندم دوستان عزیز در حل آن کمک کنند.

    نام فرم برنامه : frmMain
    نام دیتا گرید ویو : dgvdata
    نام کلاسی که جهت کار و اتصال با پایگاه داده است : dbActions

    Table Name : List
    -------------------



    dbActions Class

    class dbActions
    {
    public void loadDataGrid(string sqlQueryString)
    {
    using (frmMain frm = new frmMain())
    {
    using (OleDbCommand SQLQuery = new OleDbCommand())
    {
    DataTable data = null;
    frm.dgvdata.DataSource = null;
    SQLQuery.Connection = null;
    OleDbDataAdapter dataAdapter = null;
    frm.dgvdata.Columns.Clear();
    SQLQuery.CommandText = sqlQueryString;
    SQLQuery.Connection = frmMain.database;
    data = new DataTable();
    dataAdapter = new OleDbDataAdapter(SQLQuery);
    dataAdapter.Fill(data);
    frm.dgvdata.DataSource = data;
    }

    }
    }
    }
    تعریف public static OleDbConnection database

    public partial class frmMain : Form
    {
    public static OleDbConnection database;

    public frmMain()
    {
    InitializeComponent();
    }
    Form Load (Openning DB)

    private void frmMain_Load(object sender, EventArgs e)
    {
    string connectionString = String.Format(
    "Provider = Microsoft.Jet.OLEDB.4.0;Data Source ={0}\\SoftwareList.mdb"
    , Application.StartupPath);
    database = new OleDbConnection(connectionString);
    database.Open();
    string queryString = "SELECT * FROM List";
    dbActions db = new dbActions();
    db.loadDataGrid(queryString);
    }
    Closing DB

    private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
    {
    database.Close();
    }

    مشکل من این است که برنامه هیچ اروری نمیدهد اما در دیتا گرید ویو هم هیچی نمایش داده نمی شود !!!

    خواهشمندم کمک بفرمایید.
    آخرین ویرایش به وسیله puvinax : یک شنبه 04 مهر 1389 در 17:41 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    گلستان
    پست
    191

    نقل قول: مشکل در اتصال سی شارپ و اکسس

    سلام .

    گذشته از روش غیر اصولی، اشکال شما زمانیست که در کلاس، یک شی جدید از فرم ایجاد میکنید.
    شما میتوانید مقدار بازگشتی تابع را به DataTable تغییر داده و بعد از پر کردن دیتاتیبل، آنرا return کنید . و در فرمی که تابع را فراخوانی میکنید به اینصورت عمل کنید :

    dataGridView1.DataSource = db.loadDataGrid(queryString);


    موفق باشید.

  3. #3

    Unhappy نقل قول: مشکل در اتصال سی شارپ و اکسس

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

    گذشته از روش غیر اصولی، اشکال شما زمانیست که در کلاس، یک شی جدید از فرم ایجاد میکنید.
    شما میتوانید مقدار بازگشتی تابع را به DataTable تغییر داده و بعد از پر کردن دیتاتیبل، آنرا return کنید . و در فرمی که تابع را فراخوانی میکنید به اینصورت عمل کنید :

    dataGridView1.DataSource = db.loadDataGrid(queryString);
    موفق باشید.
    با سلام

    ابتدا باید بگم تا اونجایی که می دونم اگر در یک کلاس بخوای به آبجکت های فرم دست پیدا کنی چون در حالت عادی شناخته نمیشن باید یک نوع از فرم ایجاد کنیم تا بشه به اشیاء عمومی فرم دست یافت برای همین در کلاس، یک شی جدید از فرم ایجاد کردم.


    ثانیا می خواهم خواهش کنم منبعی معرفی کنید که روش اصولی اتصال ، Insert,Delete,Update بیان کند (هم اکسس هم SQLServer)
    حقیقتش این نمونه کد رو با کمی تغییر از یکی از سمپل های سایت Codeproject بهره گرفتم.(همین کلاسش رو خودم اضافه کردم !!!)
    از صبح هر منبعی که پیدا می کنم یکجاش به مشکل خورده ام این خوبشه !!! از دست این ADO.NET کلافه شدم !!!

    ثالثا من کد شما رو
     dgvdata.DataSource = db.loadDataGrid(queryString);
    با این بخش
    db.loadDataGrid(queryString);
    جابجا کردم ام با اررور زیر مواجه شدم :
    Cannot implicitly convert type 'void' to 'object

    ممنون میشم باز هم راهنمایی بفرمایید.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    گلستان
    پست
    191

    نقل قول: مشکل در اتصال سی شارپ و اکسس

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

    شما تغییراتی که گفتم اعمال نکردید.

    تابع به این صورت باید تغییر کند:


    public
    DataTable loadDataGrid(string sqlQueryString)
    {
    DataTable data;
    using (OleDbCommand SQLQuery = newOleDbCommand())
    {
    SQLQuery.CommandText = sqlQueryString;
    SQLQuery.Connection = frmMain.database;
    data =
    newDataTable();
    OleDbCommand dataAdapter = newOleDbDataAdapter(SQLQuery);
    dataAdapter.Fill(data);
    }
    return (data);
    }

  5. #5

    نقل قول: مشکل در اتصال سی شارپ و اکسس

    با عرض سلام
    من این برنامه را نوشتم ولی یا بهJet ایراد میگره یا به آدرس یا به پسوندش.

  6. #6

    نقل قول: مشکل در اتصال سی شارپ و اکسس

    سلام
    من این برنامه رو نوشتم ولی به یک خطش ایراد می گیره(همون خطی که رنگش نارنجیه):

    publicpartialclassInsertInfehrestbaha : Form
    {
    //************************************************** ******************
    OleDbConnection connectondatabase = newOleDbConnection();

    OleDbDataAdapter dataAdapter;

    OleDbCommandBuilder commandbuilder;
    DataTable dataTable = newDataTable();
    int rowPosition = 0;


    privatevoid InsertInfehrestbaha_Load(object sender, EventArgs e)
    {
    // TODO: This line of code loads data into the 'database1DataSet.tbl_Fehrestbaha' table. You can move, or remove it, as needed.

    this.tbl_FehrestbahaTableAdapter.Fill(this.database1DataSet.tbl_Fehrestbaha);
    connectondatabase.ConnectionString =
    @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=J:\Project\DataBase\Database1.mdb";
    connectondatabase.Open();

    dataAdapter =
    newOleDbDataAdapter("Select * From Database1", connectondatabase );

    OleDbCommandBuilder commandbuilder =

    newOleDbCommandBuilder(dataAdapter);
    • dataAdapter.Fill(dataTable);
    }

  7. #7
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    گلستان
    پست
    191

    نقل قول: مشکل در اتصال سی شارپ و اکسس

    سلام.
    اول ،provider انتخابی شما مربوط به بانک Access 2007 است، در صورتی که بانک شما 2003.
    از provider موجود در مثال دوستمون برای فایل 2003 استفاده کنید.
    دوم، متن خطا رو هم بنویسید.
    سوم، برای سئوال جدید، تاپیک جدید ایجاد کنید.
    موفق باشید.
    آخرین ویرایش به وسیله cheshm6k : یک شنبه 04 مهر 1389 در 12:59 عصر

  8. #8
    کاربر جدید آواتار kahouri
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    شیراز
    پست
    12

    Arrow نقل قول: مشکل در اتصال سی شارپ و اکسس

    نقل قول نوشته شده توسط puvinax مشاهده تاپیک
    با سلام خدمت اساتید

    مشکلی دارم که خواهشمندم دوستان عزیز در حل آن کمک کنند.

    نام فرم برنامه : frmMain
    نام دیتا گرید ویو : dgvdata
    نام کلاسی که جهت کار و اتصال با پایگاه داده است : dbActions

    Table Name : List
    -------------------


    dbActions Class


    class dbActions
    {
    public void loadDataGrid(string sqlQueryString)
    {
    using (frmMain frm = new frmMain())
    {
    using (OleDbCommand SQLQuery = new OleDbCommand())
    {
    DataTable data = null;
    frm.dgvdata.DataSource = null;
    SQLQuery.Connection = null;
    OleDbDataAdapter dataAdapter = null;
    frm.dgvdata.Columns.Clear();
    SQLQuery.CommandText = sqlQueryString;
    SQLQuery.Connection = frmMain.database;
    data = new DataTable();
    dataAdapter = new OleDbDataAdapter(SQLQuery);
    dataAdapter.Fill(data);
    frm.dgvdata.DataSource = data;
    }

    }
    }
    }

    تعریف public static OleDbConnection database


    public partial class frmMain : Form
    {
    public static OleDbConnection database;

    public frmMain()
    {
    InitializeComponent();
    }

    Form Load (Openning DB)


    private void frmMain_Load(object sender, EventArgs e)
    {
    string connectionString = String.Format(
    "Provider = Microsoft.Jet.OLEDB.4.0;Data Source ={0}\\SoftwareList.mdb"
    , Application.StartupPath);
    database = new OleDbConnection(connectionString);
    database.Open();
    string queryString = "SELECT * FROM List";
    dbActions db = new dbActions();
    db.loadDataGrid(queryString);
    }

    Closing DB



    private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
    {
    database.Close();
    }




    مشکل من این است که برنامه هیچ اروری نمیدهد اما در دیتا گرید ویو هم هیچی نمایش داده نمی شود !!!



    خواهشمندم کمک بفرمایید.

    ---------------------------
    سلام مشکلت اینه که تو conection stringet بعد از provider باید // بذاری ..
    تو فکرش نرو .. مشکلت جزییه راحت حل میشه
    یه نمونه برات میذارم..
    ایمیلتو بده .. بعد یه میل هم به من بزن
    email : sadegh_kahouri@yahoo.com

  9. #9
    کاربر دائمی آواتار k1csharpdeveloper
    تاریخ عضویت
    مهر 1389
    محل زندگی
    4باندی مهرشهر کرج
    سن
    41
    پست
    185

    نقل قول: مشکل در اتصال سی شارپ و اکسس

    من توی یک پروژه بنام Typedataset توضیح دادم دانلود کن میفهمی

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

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