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

نام تاپیک: خطا در ارتباط با پایگاه داده

  1. #1

    Lightbulb خطا در ارتباط با پایگاه داده

    با سلام
    من میخوام با یه تکه کد به پایگاه داده وصل شم جهت ذخیره دو رکورد به پایگاه وصل میشم ولی یکی از دستورات خطا میده و نمی شه اطلاعات رو ثبت کرد ممنون میشم کمکم کنید
    خطا در دستو DataRow newRow اتفاق می افته
    10-26-2014 03-16-34 ب.jpg

  2. #2
    اینجوری کار نکردم اما از
    DataRow شی newRow رو NEW کن ببین درست میشه

    ارورشم بذار لطفا"
    آخرین ویرایش به وسیله محمد آشتیانی : یک شنبه 04 آبان 1393 در 21:55 عصر

  3. #3

    نقل قول: خطا در ارتباط با پایگاه داده

    این قسمت که من تعریف کردم
            DataSet ds = new DataSet();
    string strsql;
    string strcon = "Data Source=VAHID-PC;Initial Catalog=Mali;Integrated Security=True";
    SqlDataAdapter da;
    SqlConnection con;
    DataRow NewRow;
    SqlCommandBuilder cd;

    زیر datarow newrow خط سبز میکشه
    اروور هم این رو میده
    10-26-2014 04-51-20 ب.jpg

  4. #4

    نقل قول: خطا در ارتباط با پایگاه داده

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    اینجوری کار نکردم اما از
    DataRow شی newRow رو NEW کن ببین درست میشه
    با حروف بزرگ هم جواب نداد

  5. #5

    نقل قول: خطا در ارتباط با پایگاه داده

    کل دستوراتم اینه

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using System.Data.OleDb;

    namespace Uni
    {
    public partial class Finance : Form
    {
    public Finance()
    {
    InitializeComponent();
    }

    DataSet ds = new DataSet();
    string strsql;
    string strcon = "Data Source=VAHID-PC;Initial Catalog=Mali;Integrated Security=True";
    SqlDataAdapter da;
    SqlConnection con;
    DataRow NewRow;
    SqlCommandBuilder cd;

    private void button2_Click(object sender, EventArgs e)
    {
    Close();
    }

    private void Finance_Load(object sender, EventArgs e)
    {
    // TODO: This line of code loads data into the 'maliDataSet.Pardakht' table. You can move, or remove it, as needed.
    this.pardakhtTableAdapter.Fill(this.maliDataSet.Pa rdakht);
    strsql = "SELECT * FROM Pardakht";
    con = new SqlConnection(strcon);
    con.Open();
    da=new SqlDataAdapter(strsql,con);
    da = new SqlDataAdapter(strsql, con);
    da.Fill(ds, "Pardakht");
    textBox25.DataBindings.Add(new Binding("text", ds, "Pardakht.Data1"));
    textBox26.DataBindings.Add(new Binding("text", ds, "Pardakht.ID"));
    con.Close();
    }

    private void button11_Click(object sender, EventArgs e)
    {
    NewRow["Data1"] = Convert.ToInt16(textBox25.Text);
    NewRow["ID"] = Convert.ToInt16(textBox26.Text);
    ds.Tables["Pardakht"].Rows.Add(NewRow);
    cd = new SqlCommandBuilder(da);
    da = cd.DataAdapter;
    da.Update(ds, "Pardakht");
    con.Close();
    }
    }
    آخرین ویرایش به وسیله vahidganji : یک شنبه 04 آبان 1393 در 16:34 عصر

  6. #6
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: خطا در ارتباط با پایگاه داده

    سلام بقیه تاپیک هارو که به آشوب کشیدید :دی
    شما برای آپدیت دیتابیس برای Update, Insert, Delete باید کوئری هارو تعریف کنید اول.
    مثلا برای Insert:
    this.oleDbDataAdapter1.InsertCommand = new OleDbCommand("Insert Into TBL(col1,col2) Values(@col1,@col2)", this.oleDbConnection1);
    this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@col1", dataTable1.Columns[0].DataType).SourceColumn = dataTable1.Columns[0].ColumnName;
    this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@col2", dataTable1.Columns[1].DataType).SourceColumn = dataTable1.Columns[1].ColumnName;

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

  7. #7

    نقل قول: خطا در ارتباط با پایگاه داده

    سلام
    ببخشید دیگه لازم دارم بدجوری
    متوجه هم نشدم چطوری باید کار کنم

  8. #8
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: خطا در ارتباط با پایگاه داده

    ببینید کاری نداره مثلا برای جدولی با 5 فیلد: ID, FName, LName, Age, PhoneNo باید 3 کوئری Insert, Delete و Update رو تعریف کنیم:
    کل کلاس فرم من اینطوریه که هر کوئری در یکی از متدهای Generate_Delete_Command و Generate_Insert_Command Generate_Update_Command تعریف شده:
    using System;
    using System.Windows.Forms;
    using System.Data;
    using System.Data.OleDb;


    namespace DBUpdate
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    DataTable dataTable1 = new DataTable();
    OleDbConnection oleDbConnection1;
    OleDbDataAdapter oleDbDataAdapter1 = new OleDbDataAdapter();
    private void Form1_Load(object sender, EventArgs e)
    {
    this.oleDbConnection1 = new DBConnection().GetOffConnection(Application.Startu pPath + "/db.mdb");
    string SelectCommand = "Select * From Table1";
    this.oleDbDataAdapter1.SelectCommand = new OleDbCommand(SelectCommand, this.oleDbConnection1);
    ReloadDB();
    //
    //Initialize UPDATE Command.
    Generate_Update_Command();


    //Initialize INSERT Command.
    Generate_Insert_Command();


    //Initialize DELETE Command.
    Generate_Delete_Command();
    }
    void ReloadDB()
    {
    this.dataTable1.Clear();
    this.oleDbDataAdapter1.Fill(this.dataTable1);
    this.dataGridView1.DataSource = dataTable1;
    }
    void Generate_Delete_Command()
    {
    string Command = "Delete From Table1 WHERE ID=@ID";
    this.oleDbDataAdapter1.DeleteCommand = new OleDbCommand(Command, this.oleDbConnection1);
    this.oleDbDataAdapter1.DeleteCommand.Parameters.Ad dWithValue("@ID", dataTable1.Columns["ID"].DataType).SourceColumn = "ID";
    }
    void Generate_Update_Command()
    {
    string Command = "Update Table1 Set [FName]=@FName, [LName]=@LName, [Age]=@Age, [PhoneNo]=@PhoneNo Where [ID]=@ID";


    this.oleDbDataAdapter1.UpdateCommand = new OleDbCommand(Command, this.oleDbConnection1);


    this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@FName", dataTable1.Columns["FName"].DataType).SourceColumn = "FName";
    this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@LName", dataTable1.Columns["LName"].DataType).SourceColumn = "LName";
    this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@Age", dataTable1.Columns["Age"].DataType).SourceColumn = "Age";
    this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@PhoneNo", dataTable1.Columns["PhoneNo"].DataType).SourceColumn = "PhoneNo";
    this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@ID", dataTable1.Columns["ID"].DataType).SourceColumn = "ID";
    }
    void Generate_Insert_Command()
    {
    string Command = "INSERT INTO Table1 (FName,LName,Age,PhoneNo) Values(@FName,@LName,@Age,@PhoneNo)";
    this.oleDbDataAdapter1.InsertCommand = new OleDbCommand(Command, this.oleDbConnection1);
    this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@FName", dataTable1.Columns["FName"].DataType).SourceColumn = "FName";
    this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@LName", dataTable1.Columns["LName"].DataType).SourceColumn = "LName";
    this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@Age", dataTable1.Columns["Age"].DataType).SourceColumn = "Age";
    this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@PhoneNo", dataTable1.Columns["PhoneNo"].DataType).SourceColumn = "PhoneNo";
    }


    private void button1_Click(object sender, EventArgs e)
    {
    if (dataGridView1.IsCurrentCellDirty)
    this.dataGridView1.CommitEdit(DataGridViewDataErro rContexts.Commit);
    if (dataGridView1.IsCurrentCellInEditMode)
    this.dataGridView1.EndEdit();
    Cursor.Current = Cursors.WaitCursor;
    int r = this.oleDbDataAdapter1.Update(dataTable1);
    ReloadDB();
    Cursor.Current = Cursors.Default;
    }
    }
    }



    البته باز هم بدلیل سادگی این برنامه با دیتابیس اکسس نوشته شده که گفتم هیچ فرقی در روش نمیکنه.

    سورس پروژه هم برای درک بهتر:
    فایل های ضمیمه فایل های ضمیمه

تاپیک های مشابه

  1. سوال: خطا در برقراری ارتباط با پایگاه داده
    نوشته شده توسط کاربر مبتدی2 در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: دوشنبه 13 خرداد 1392, 09:24 صبح
  2. پاسخ: 2
    آخرین پست: دوشنبه 16 اردیبهشت 1392, 11:48 صبح
  3. خطا در ارتباط با پایگاه داده
    نوشته شده توسط sniper_I در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 8
    آخرین پست: چهارشنبه 01 شهریور 1391, 15:11 عصر
  4. سوال: خطا هنگام برقراری ارتباط با پایگاه داده
    نوشته شده توسط mehrdad85 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: یک شنبه 28 آذر 1389, 09:24 صبح
  5. سوال: خطا در ارتباط با پایگاه داده (SQL 2008)
    نوشته شده توسط m.abooei در بخش SQL Server
    پاسخ: 3
    آخرین پست: پنج شنبه 05 شهریور 1388, 21:06 عصر

برچسب های این تاپیک

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

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