Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Không edit được cơ sở dữ liệu từ form

  1. #1
    Ngày gia nhập
    09 2013
    Bài viết
    2

    Mặc định Không edit được cơ sở dữ liệu từ form

    Hiện tại mình đang làm 1 cái form để hiển thị thông tin sản phẩm, nhưng sau khi mình edit trên form thì nó vẫn load lại thông tin như trước lúc sửa
    Code của mình như thế này
    Code:
    private void btnChapNhan_Click(object sender, EventArgs e)
            {
                if (bname == false) MessageBox.Show("Cập nhật không thành công!\nVui lòng thử lại", "Thông báo",        MessageBoxButtons.OK, MessageBoxIcon.Warning);
                else
                {
                    try
                    {
                        string autosave = path + @"\BTCNPM\Anh\" + picname;
                        ptbImage.Image.Save(autosave);
                    }
                    catch (Exception) { }
    
                    string sql = "set dateformat dmy UPDATE SanPham set TenSP=@ten,ManHinh=@man,CPU=@cpu,RAM=@ram,HDH=@os,CameraChinh=@camchinh,CameraPhu=@camphu,BoNhoTrong=@bonho,TheNhoNgoai=@thenho,DungLuongPin=@pin,GhiChu=@ghichu,Anh=@anh WHERE MaSP=@masp";
                        SqlCommand cmd = new SqlCommand(sql, conn);
                        cmd.Parameters.AddWithValue("@masp", txtMaSP.Text);
                        cmd.Parameters.AddWithValue("@ten", txtTenSP.Text);
                        cmd.Parameters.AddWithValue("@man", txtManHinh.Text);
                        cmd.Parameters.AddWithValue("@cpu", txtCPU.Text);
                        cmd.Parameters.AddWithValue("@ram", txtRAM.Text);
                        cmd.Parameters.AddWithValue("@os", txtOS.Text);
                        cmd.Parameters.AddWithValue("@camchinh", txtCamChinh.Text);
                        cmd.Parameters.AddWithValue("@camphu", txtCamPhu.Text);
                        cmd.Parameters.AddWithValue("@bonho", txtBoNho.Text);
                        cmd.Parameters.AddWithValue("@thenho", txtTheNho.Text);
                        cmd.Parameters.AddWithValue("@pin", txtPin.Text);
                        cmd.Parameters.AddWithValue("@ghichu", txtKhac.Text);
                        cmd.Parameters.AddWithValue("@anh", "Data Images/" + picname);
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
    
                        i = dataGridView.CurrentCell.RowIndex;
                        string MaSP = Convert.ToString(dataGridView.Rows[i].Cells[0].Value.ToString());
                        string TenSP = Convert.ToString(dataGridView.Rows[i].Cells[1].Value.ToString());
                        string NhaSX = Convert.ToString(dataGridView.Rows[i].Cells[2].Value.ToString());
                        string NgayNhap = Convert.ToString(dataGridView.Rows[i].Cells[3].Value.ToString());
                        string GiaNhap = Convert.ToString(dataGridView.Rows[i].Cells[4].Value.ToString());
                        string Loai = Convert.ToString(dataGridView.Rows[i].Cells[5].Value.ToString());
                        string GiaBan = Convert.ToString(dataGridView.Rows[i].Cells[6].Value.ToString());
                        string SLTon = Convert.ToString(dataGridView.Rows[i].Cells[7].Value.ToString());
                        string GhiChu = Convert.ToString(dataGridView.Rows[i].Cells[8].Value.ToString());
                        string ManHinh = Convert.ToString(dataGridView.Rows[i].Cells[9].Value.ToString());
                        string CPU = Convert.ToString(dataGridView.Rows[i].Cells[10].Value.ToString());
                        string RAM = Convert.ToString(dataGridView.Rows[i].Cells[11].Value.ToString());
                        string HDH = Convert.ToString(dataGridView.Rows[i].Cells[12].Value.ToString());
                        string CameraChinh = Convert.ToString(dataGridView.Rows[i].Cells[13].Value.ToString());
                        string CameraPhu = Convert.ToString(dataGridView.Rows[i].Cells[14].Value.ToString());
                        string BoNhoTrong = Convert.ToString(dataGridView.Rows[i].Cells[15].Value.ToString());
                        string TheNhoNgoai = Convert.ToString(dataGridView.Rows[i].Cells[16].Value.ToString());
                        string DungLuongPin = Convert.ToString(dataGridView.Rows[i].Cells[17].Value.ToString());
                        string updateStr = "set dateformat dmy UPDATE SanPham SET MaSP='" + MaSP + "',TenSP='" + TenSP + "',NhaSX='" + NhaSX + "',NgayNhap='" + NgayNhap + "',GiaNhap='" + GiaNhap + "',Loai='" + Loai + "',GiaBan='" + GiaBan + "',SLTon='" + SLTon + "',GhiChu='" + GhiChu + "',ManHinh='" + ManHinh + "',CPU='" + CPU + "',RAM='" + RAM + "',HDH='" + HDH + "',CameraChinh='" + CameraChinh + "',CameraPhu='" + CameraPhu + "',BoNhoTrong='" + BoNhoTrong + "',TheNhoNgoai='" + TheNhoNgoai + "',DungLuongPin='" + DungLuongPin + "' WHERE MaSP='" + MaSP + "'";
                        SqlCommand updateCmd = new SqlCommand(updateStr, conn);
                        conn.Open();
                        updateCmd.CommandType = CommandType.Text;
                        updateCmd.ExecuteNonQuery();
                        conn.Close();
    
                        btnRefresh_Click(sender, e);
                        MessageBox.Show("Cập nhật thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        btnHuyBo_Click(sender, e);
                }
            }
    Đoạn trên là cập nhật thông qua các textbox, còn đoạn dưới là sửa trực tiếp trên datagridview. Mong các bạn xem giúp nó sai ở chỗ nào. Mình cám ơn nhiều.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    11 2010
    Bài viết
    412

    trong chỗ này bạn thử
    Code:
    try 
    {
    conn.Open();
    //thực hiện các update lệnh xong đi đã
    conn.Close();
    }
    catch
    {
    }
    với cả chỗ
    Code:
    string RAM = Convert.ToString(dataGridView.Rows[i].Cells[11].Value.ToString());
    thì
    Code:
    string RAM = Convert.ToString(dataGridView.Rows[i].Cells[11].Value);

  3. #3
    Ngày gia nhập
    09 2013
    Bài viết
    2

    OK, mình đã sửa lại đc rồi. Tks
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn