我有一个Excel数据库,我想删除,Excel工作表的行。
在这里,我提我的代码写在C#
这些代码可以删除行,Excel文件,但我想要的下一行,Excel工作表的价值,以取代空场。private void pbDelete_Click(object sender, EventArgs e)
{
if (MobileNumber == "")
{
MessageBox.Show("Please select a Name !..");
}
else
{
if (MessageBox.Show("Do you realy want to delete this data?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
if (index != -1)
{
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path.GetDirectoryName(Application.ExecutablePath) + "\\Taas SMS.xls;Extended Properties=Excel 8.0;";
//oledbConn.Open();
//cmd1 = new OleDbCommand();
//cmd.Connection = oledbConn;
//cmd.CommandText = "INSERT INTO ExecutiveMember (Name,Designation,TravelAgent, MobileNumber) values ('" + dt.Rows[i][0] + "', '" + dt.Rows[i][1] + "','" + dt.Rows[i][2] + "', '" + dt.Rows[i][3] + "')";
//cmd.ExecuteNonQuery();
//oledbConn.Close();
OleDbConnection oledbConn1 = new OleDbConnection(conn);
oledbConn1.Open();
OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = oledbConn1;
cmd1.CommandText = "select * from ExecutiveMember";
OleDbDataAdapter da = new OleDbDataAdapter(cmd1);
DataTable dt1 = new DataTable();
//dt1.Clear();
da.Fill(dt1);
OleDbConnection oledbConn = new OleDbConnection(conn);
oledbConn.Open();
OleDbCommand cmd2 = new OleDbCommand();
cmd2.Connection = oledbConn;
cmd2.CommandText = "update ExecutiveMember set Name='',Designation='',TravelAgent='',MobileNumber='' where MobileNumber='" + dt1.Rows[index][3] + "'";
cmd2.ExecuteNonQuery();
oledbConn.Close();
//DataRow dtRowDelete = dt1.Rows[index];
//dtRowDelete.Delete();
//dt1.AcceptChanges();
da.Update(dt1);
dgvExecutiveMember.DataSource = dt1;
//conn = new OleDbConnection();
//conn.ConnectionString = gm.ConnectionString;
//conn.Open();
////cmd = new OleDbCommand("select * from ExecutiveMember where MobileNumber='" + MobileNumber + "'", conn);
//cmd = new OleDbCommand("select * from ExecutiveMember", conn);
//da = new OleDbDataAdapter(cmd);
//dt.Clear();
//da.Fill(dt);
//DataRow dtRowDelete = dt.Rows[index];
//dtRowDelete.Delete();
//dt.AcceptChanges();
//da.Update(dt);
OleDbConnection oledbConn2 = new OleDbConnection(conn);
oledbConn.Open();
//conn = new OleDbConnection();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [ExecutiveMember]", oledbConn2);
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
DataSet ds = new DataSet();
oleda.Fill(ds, "ExecutiveMember");
int rowcount = ds.Tables[0].Rows.Count;
oledbConn.Close();
for (int i = 0; i < rowcount-2; i++)
{
oledbConn.Open();
cmd = new OleDbCommand();
cmd.Connection = oledbConn;
cmd.CommandText = "update ExecutiveMember set Name='" + dt1.Rows[i][0] + "',Designation='" + dt1.Rows[i][1] + "',TravelAgent='" + dt1.Rows[i][2] + "',MobileNumber='" + dt1.Rows[i][3] + "' where MobileNumber='" + dt1.Rows[i][3] + "'";
//cmd.CommandText = "INSERT INTO ExecutiveMember (Name,Designation,TravelAgent, MobileNumber) values ('" + dt1.Rows[i][0] + "', '" + dt1.Rows[i][1] + "','" + dt1.Rows[i][2] + "', '" + dt1.Rows[i][3] + "')";
cmd.ExecuteNonQuery();
oledbConn.Close();
Clear();
}
// conn = new OleDbConnection();
// conn.ConnectionString = gm.ConnectionString;
// conn.Open();
// cmd = new OleDbCommand();
// cmd.Connection = conn;
// cmd.CommandText = "INSERT INTO ExecutiveMember (Name,Designation,TravelAgent, MobileNumber) values ('" + dt.Rows[i][0] + "', '" + dt.Rows[i][1] + "','" + dt.Rows[i][2] + "', '" + dt.Rows[i][3] + "')";
// cmd.ExecuteNonQuery();
// conn.Close();
// Clear();
// FillGrid();
//}
//conn.Close();
Clear();
MobileNumber = "";
//FillGrid();
index = -1;
MessageBox.Show("Data Deleted!...");
}
}
else
{
}
}
}
请帮我解决这个问题。感谢在前进。