我必须使用3个表构建在数据库中搜索,更新,删除和添加信息的APP。我使用SQL CE,我已经做了搜索和添加按钮,他们工作。
我有一个搜索按钮和每个表的3个文本框,显示我正在搜索的表的数据网格视图。我一直在努力搜索,但似乎无法找到解决方案,我想制作一个删除按钮,从datagridview中删除哪个popup /真的很抱歉我的英文/我希望你明白了。
我找到了一种只从1 dgv删除的方法,实际上它甚至不能保存dgv。这是我用于搜索按钮的代码,我不是要求别人为我写的,而只是为了提示如何做。
private void btnSearch_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" && textBox2.Text == "" && textBox3.Text == "")
{
dataGridView1.Hide();
dataGridView2.Hide();
dataGridView3.Hide();
MessageBox.Show("Insert something to search!");
return;
}
else if (textBox1.Text == "" && textBox3.Text == "")
{
try
{
this.institutionTableAdapter.SearchNameInst(this.database1DataSet1.Institution, textBox2.Text);
dataGridView3.Show();
dataGridView2.Hide();
dataGridView1.Hide();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
else if (textBox2.Text == "" && textBox3.Text == "")
{
try
{
this.studentsTableAdapter.SearchStudName(this.database1DataSet1.Students, textBox1.Text);
dataGridView3.Hide();
dataGridView2.Show();
dataGridView1.Hide();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
else if (textBox1.Text == "" && textBox2.Text == "")
{
try
{
this.typeinstTableAdapter.SearchNameTown(this.database1DataSet1.Typeinst, textBox3.Text);
dataGridView3.Hide();
dataGridView2.Hide();
dataGridView1.Show();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
}
答案 0 :(得分:0)
以下代码删除ONE datagridview中的当前行:
<强> CODE 强>
DataGridViewRow deleteRow = grid.CurrentRow;
grid.CurrentRow.Selected = false;
grid.Rows[deleteRow+1].Selected = true;
grid.Rows.RemoveAt(deleteRow);
如果要更新MySql-Database,则必须检查行ID并在MySql中调用delete-methode,如:
<强> CODE 强>
try
{
dt = new DataTable();
using (MySqlConnection conn = new MySqlConnection("datasource=localhost;port=3306;username=test;password=1234"))
{
conn.Open();
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.Connection = conn;
string tabvalue = grid.Rows[grid.CurrentRow.Index].Cells[0].Value.ToString();
cmd.CommandText = ("DELETE FROM `Table`.`currenttable` WHERE `ID` ='" + tabvalue + "';");
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(dt);
}
conn.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
您必须更改DataGridView名称和当前表名称,但我希望此示例将解决您的问题!如果它不保存你的概率。请发表评论然后我会尝试为你写一些代码!祝你有愉快的一天。