مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

beta1391

عضویت از 1394/12/11

*** فوری ، فوری - دوستان لطفا کمک کنید : عدم اجرای دستور آپدیت در سی شارپ ACCESS

  • چهارشنبه 19 اسفند 1394
  • 19:01
تشکر میکنم

سلام دوستان من یک برنامه ای نوشتم و میخواهم اطلاعات را در آن ویرایش کنم از دستور زیر استفاده کردن ولی متاسفانه پیغام موفقیت در ثبت اطلاعات را میدهد ولی اطلاعات ثبت نمی شود و تغییر نمی کند . لطفا راهنمایی بفرمایید . ممنونم .

 


            if (txtUsername.Text != "" && txtPass.Text != "")
            {
                OleDbConnection con = new OleDbConnection(ConnectionString);
                cmd = new OleDbCommand("UPDATE Account SET A_user=@user,A_pass=@pass,A_name=@name,A_access=@access,A_event=@event where ID=@ID", con);
               
                cmd.Parameters.AddWithValue("@ID", ID);
                cmd.Parameters.AddWithValue("@user", txtUsername.Text);
                cmd.Parameters.AddWithValue("@pass", txtPass.Text);
                cmd.Parameters.AddWithValue("@name", txtName.Text);
                cmd.Parameters.AddWithValue("@access", comboAccess.Text);
                cmd.Parameters.AddWithValue("@event", txtEvent.Text);

                con.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("Record Updated Successfully");
                con.Close();
                DisplayData();
                ClearData();
            }
            else
            {
                MessageBox.Show("Please Select Record to Update");
            }
           

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

mahdisky

عضویت از 1392/11/13

  • پنجشنبه 20 اسفند 1394
  • 00:25

ظاهرا مشکلی نداره

ولی بزار توی try ببین چجوریه

کاربر سایت

beta1391

عضویت از 1394/12/11

  • پنجشنبه 20 اسفند 1394
  • 10:37

این کار هم انجام دادم . متاسفانه باز هم نشد .

خیلی عجیبه . لطفا راهنمایی کنید ...

کاربر سایت

mahdisky

عضویت از 1392/11/13

  • پنجشنبه 20 اسفند 1394
  • 12:13

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

کاربر سایت

beta1391

عضویت از 1394/12/11

  • پنجشنبه 20 اسفند 1394
  • 12:54

هیچ خطایی رخ نمیده . چک کردم .

کاربر سایت

beta1391

عضویت از 1394/12/11

  • پنجشنبه 20 اسفند 1394
  • 12:58

یکبار کل کد رو براتون میفرستم لطفا چک کنید :

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
using System.Drawing.Imaging;

namespace ArasbPishtaz
{
    public partial class frmAdminAcc : Form
    {
        
        public frmAdminAcc()
        {
            InitializeComponent();
            DisplayData();
        }
        string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data_Base.mdb";
        
        OleDbCommand cmd;
        OleDbDataAdapter adapt;
        int ID = 0;



        //Display Data in DataGridView  
        private void DisplayData()
        {
            OleDbConnection con = new OleDbConnection(ConnectionString);
            con.Open();
            DataTable dt = new DataTable();
            adapt = new OleDbDataAdapter("select * from Account", con);
            adapt.Fill(dt);
            dataGridView1.DataSource = dt;
            dataGridView1.Columns[0].Name = "ID";
            dataGridView1.Columns[1].Name = "A_user";
            dataGridView1.Columns[2].Name = "A_pass";
            dataGridView1.Columns[3].Name = "A_name";
            dataGridView1.Columns[4].Name = "A_access";
            dataGridView1.Columns[5].Name = "A_pic";
            dataGridView1.Columns[6].Name = "A_event";

            dataGridView1.Columns[0].Width = 80;
            dataGridView1.Columns[1].Width = 140;

            dataGridView1.Columns[0].HeaderText = "شماره ثبت";
            dataGridView1.Columns[1].HeaderText = "نام کاربری";
            dataGridView1.Columns[2].HeaderText = "رمز عبور";
            dataGridView1.Columns[3].HeaderText = "نام";
            dataGridView1.Columns[4].HeaderText = "دسترسی";
            dataGridView1.Columns[5].HeaderText = "تصویر";
            dataGridView1.Columns[6].HeaderText = "یادداشت";
            con.Close();

        }
        //Clear Data  
        private void ClearData()
        {
            txtUsername.Text = "";
            txtPass.Text = "";
            txtName.Text = "";
            comboAccess.Text = "";
            txtEvent.Text = "";
            pictureBox1.Image = null;
            ID = 0;
        }
        //dataGridView1 RowHeaderMouseClick Event  
        private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            
        }
        private void button4_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmAdminAcc_Load(object sender, EventArgs e)
        {
            DisplayData();
            ImageConverter converter = new ImageConverter();
            
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            if (txtUsername.Text != "" && txtPass.Text != "")
            {
                OleDbConnection con = new OleDbConnection(ConnectionString);
                cmd = new OleDbCommand("Insert Into Account (A_user,A_pass,A_name,A_access,A_pic,A_event) Values (@1,@2,@3,@4,@5,@6)", con);
                con.Open();
                cmd.Parameters.AddWithValue("@1", txtUsername.Text);
                cmd.Parameters.AddWithValue("@2", txtPass.Text);
                cmd.Parameters.AddWithValue("@3", txtName.Text);
                cmd.Parameters.AddWithValue("@4", comboAccess.Text);
                cmd.Parameters.AddWithValue("@5", ImageToByte(pictureBox1.Image));
                cmd.Parameters.AddWithValue("@6", txtEvent.Text);
                cmd.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("Record Inserted Successfully");
                BindGrid();
                ClearData();
            }
            else
            {
                MessageBox.Show("Please Provide Details!");
            }


        }
        public static byte[] ImageToByte(Image img)
        {
            ImageConverter converter = new ImageConverter();
            return (byte[])converter.ConvertTo(img, typeof(byte[]));
        }



        void BindGrid()
        {
            dataGridView1.AutoGenerateColumns = false;
            OleDbConnection con = new OleDbConnection(ConnectionString);
            string query = "Select * From Account";
            OleDbDataAdapter da = new OleDbDataAdapter(query, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                
            }
        }



        private void dataGridView1_RowHeaderMouseClick_1(object sender, DataGridViewCellMouseEventArgs e)
        {
           

            ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
            txtUsername.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
            txtPass.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
            txtName.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
            comboAccess.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
            pictureBox1.Image = GetDataToImage((byte[])(dataGridView1.Rows[e.RowIndex].Cells[5].Value));
            txtEvent.Text = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString();


        }
        public Image GetDataToImage(byte[] pData)
        {
            try
            {
                ImageConverter imgConverter = new ImageConverter();
                return imgConverter.ConvertFrom(pData) as Image;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return null;
            }
        }
        private void btnSelectPic_Click(object sender, EventArgs e)
        {
            OpenFileDialog op = new OpenFileDialog();
            if (op.ShowDialog() == DialogResult.OK)
            {
                txtImage.Text = op.SafeFileName;
                pictureBox1.ImageLocation = op.FileName;
            }
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            OleDbConnection OleDbConnection1 = new OleDbConnection(ConnectionString);
            OleDbCommand OleDbCommand1 = new OleDbCommand();
            OleDbCommand1.CommandType = CommandType.Text;
            
            OleDbCommand1.Connection = OleDbConnection1;
            OleDbCommand1.CommandType = CommandType.Text;
            OleDbCommand1.CommandText = "DELETE FROM Account WHERE ID=" + ID;
            OleDbConnection1.Open();
            int result = OleDbCommand1.ExecuteNonQuery();

            OleDbConnection1.Close();

            if (result > 0)
            {
                MessageBox.Show("کاربر مورد نظر با موفقیت حذف شد");
                BindGrid();
            }
            else
            {
                MessageBox.Show("خطا در حذف کاربر");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            txtUsername.Text = "";
            txtPass.Text = "";
            txtName.Text = "";
            txtEvent.Text = "";
            pictureBox1.Image = null;
        }
       
        private void btnUpdate_Click(object sender, EventArgs e)
        {

           try 
            {
                OleDbConnection con = new OleDbConnection(ConnectionString);
                cmd = new OleDbCommand("UPDATE Account SET A_user=@user,A_pass=@pass,A_name=@name,A_access=@access,A_event=@event where ID=@ID", con);
               
                cmd.Parameters.AddWithValue("@ID", ID);
                cmd.Parameters.AddWithValue("@user", txtUsername.Text);
                cmd.Parameters.AddWithValue("@pass", txtPass.Text);
                cmd.Parameters.AddWithValue("@name", txtName.Text);
                cmd.Parameters.AddWithValue("@access", comboAccess.Text);
                cmd.Parameters.AddWithValue("@event", txtEvent.Text);

                con.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("Record Updated Successfully");
                con.Close();
                DisplayData();
                ClearData();
            }
            catch
            {
                MessageBox.Show("Please Select Record to Update");
            }
            



        }


    }
}

 

کاربر سایت

mahdisky

عضویت از 1392/11/13

  • پنجشنبه 20 اسفند 1394
  • 13:47

ظاهرا مشکلی نداره  

ولی پروژه رو دارین از دیباگ استفاده کنین تا ببینین مشکل کجاست

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)