PDA

View Full Version : مشکل برنامه من در موقع حذف اطلاعات



saeed-71
جمعه 17 آذر 1391, 19:01 عصر
سلام.
برنامه من که با ADO نوشته شده در موقع حذف اطلاعات ارور میده.
چجوری میتونم تو این برنامه کاری کنم که با یک باتن تو گرید ویو بذارم و اطلاعات اون سطرو از گرید ویو و دیتا بیس حذف کنم؟
برنامه رو پیوست میکنم.ممنون

danialafshari
جمعه 17 آذر 1391, 19:50 عصر
دکمه روی datagrid :
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Add(textBox1.Text.ToString(), "حذف");
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
int a = dataGridView1.CurrentCell.ColumnIndex;
if (a == 1)
{
int index = dataGridView1.CurrentRow.Index;
dataGridView1.Rows.RemoveAt(index);
}
}
catch
{
MessageBox.Show("سطری برای حدف موجود نیست");
}
}

saeed-71
جمعه 17 آذر 1391, 23:24 عصر
ممنون ولی جواب نداد.
دوستان من سوالمو مطرح کردم تا جواب بگیرم.یعنی هیچ کدوم از شما هیچی نمیدونید که جواب نمیدید؟!!!!!!!!!!!!!!
واقعا نیاز دارم به جوابش.کلی جستجو کردم اما به کارم نیومدن و تو برنامم جواب ندادن.اینم کد برنامم.خود برنامه هم که ضمیمه کردم.


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;

namespace WindowsADO
{
public partial class Form1 : Form
{
int num = -1;
DataTable ADOtbl;
int i;

public Form1()
{
InitializeComponent();
}
public string value1
{
get { return textBox1.Text; }
set { textBox1.Text = value; }
}
public string value2
{
get { return textBox2.Text; }
set { textBox2.Text = value; }
}
public string value3
{
get { return textBox3.Text; }
set { textBox3.Text = value; }
}

private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'databaseADODataSet.ADOtbl' table. You can move, or remove it, as needed.
this.aDOtblTableAdapter.Fill(this.databaseADODataS et.ADOtbl);

}

private void button1_Click(object sender, EventArgs e)
{
if (oleDbConnection1.State == ConnectionState.Closed)
{
oleDbConnection1.Open();
}
oleDbDataAdapter1.InsertCommand.Parameters[0].Value = value1;
oleDbDataAdapter1.InsertCommand.Parameters[1].Value = value2;
oleDbDataAdapter1.InsertCommand.Parameters[2].Value = value3;
oleDbDataAdapter1.InsertCommand.ExecuteNonQuery();
oleDbConnection1.Close();


oleDbDataAdapter1.Fill(databaseADODataSet);
ADOtbl = databaseADODataSet.Tables[0];
FillData();

}
private void FillData()
{
databaseADODataSet.Clear();
oleDbDataAdapter1.Fill(databaseADODataSet);
ADOtbl = databaseADODataSet.Tables[0];

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

i = dataGridView1.SelectedCells[0].RowIndex;
textBox1.Text = dataGridView1.Rows[i].Cells[0].Value.ToString();
textBox2.Text = dataGridView1.Rows[i].Cells[1].Value.ToString();
textBox3.Text = dataGridView1.Rows[i].Cells[2].Value.ToString();

}

private void button3_Click(object sender, EventArgs e)
{
DialogResult rez = MessageBox.Show("Are you sure to delete this record?", "Question", MessageBoxButtons.YesNo);
if (rez == DialogResult.Yes)
{

oleDbDataAdapter1.DeleteCommand.Parameters[0].Value = ADOtbl.Rows[num][0];
if (oleDbConnection1.State == ConnectionState.Closed)
oleDbConnection1.Open();
oleDbDataAdapter1.DeleteCommand.ExecuteNonQuery();
oleDbConnection1.Close();
num--;
FillData();
}
}

private void button5_Click(object sender, EventArgs e)
{
}


}
}

danialafshari
شنبه 18 آذر 1391, 11:46 صبح
من با روش binding میتونم کارتون رو انجام بدم و wizarde که فکر نمی کنم بدردتون بخوره