c# 获取Access数据库数据实现先查询,后修改,再保存功能时一直保存不成功

豆豆1992 2017-09-30 11:59:49
部分代码如下:
 private void InquireProJ_Load(object sender, EventArgs e)
{
myCon = new OleDbConnection(connectionString);
myCmd = new OleDbCommand("select * from XMXXB", myCon);
myAD = new OleDbDataAdapter(myCmd);
myDS = new DataSet();
myAD.Fill(myDS, "XMXXB");
//myAD.UpdateCommand=builder .GetUpdateCommand();
builder = new OleDbCommandBuilder(myAD);
dataGridView1.DataSource = myDS.Tables["XMXXB"];

}

private void button1_Click(object sender, EventArgs e)//查询
{

object comboxText = comboBox1.Text;
object textboxText = textBox1.Text;
try
{
myCmd1 = new OleDbCommand("select * from XMXXB where " + comboxText + " like " + "'" + "%" + textboxText + "%" + "'", myCon);//这里tableName不能是string类型,因为string什么有双引号
myDS1 = new DataSet();
myAD1 = new OleDbDataAdapter(myCmd1);
myAD1.Fill(myDS1, "XMXXB");
dataGridView1.DataSource = myDS1.Tables["XMXXB"];
dataGridView1.ReadOnly = true;
dataGridView1.AllowUserToAddRows = false;
}
catch
{
MessageBox.Show("查询失败!请确定查询条件和关键字是否输入正确.");
}
}


private void button3_Click(object sender, EventArgs e)//修改
{
dataGridView1.ReadOnly = false;
MessageBox.Show("现在可以对数据作修改了!");
}


private void button4_Click(object sender, EventArgs e)//保存
{
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
object xmbh = dataGridView1["项目编号", i].Value.ToString();
object xmlx = dataGridView1["项目类型", i].Value.ToString();
object xmmc = dataGridView1["项目名称", i].Value.ToString();
object xmmj = dataGridView1["项目面积", i].Value.ToString();
object xmzl = dataGridView1["项目坐落", i].Value.ToString();
object wtf = dataGridView1["委托方", i].Value.ToString();
object xmzt = dataGridView1["项目状态", i].Value.ToString();
object blsj = dataGridView1["办理时间", i].Value.ToString();
object blr = dataGridView1["办理人", i].Value.ToString();
object ywh = dataGridView1["业务号", i].Value.ToString();
object wcsx = dataGridView1["完成时限", i].Value.ToString();

string connectionString = " Provider=Microsoft.ACE.OLEDB.15.0;Data Source=F:\\权籍系统\\QJProJ\\QJProJ\\XMXXK.accdb";
myCon = new OleDbConnection(connectionString);
string s = "update XMXXB set [项目编号]= '" + xmbh + "',[项目类型]='" + xmlx + "',[项目面积]=" + "'" + xmmj + "'" + ","
+ "[项目坐落]=" + "'" + xmzl + "'" + "," + "[委托方]=" + "'" + wtf + "'" + "," + "[项目状态]=" + "'" + xmzt + "'" + ","
+ "[办理时间]=" + "'" + blsj + "'" + "," + "[办理人] = " + "'" + blr + "'" + ","
+ "[完成时限] = " + "'" + wcsx + "'" + "," + "[项目名称]=" + "'" + xmmc + "'" + " where [业务号]=" + "'" + ywh + "'";

myCmd = new OleDbCommand(s, myCon);

myCon.Open();
myCmd.CommandText = s;
myCmd.ExecuteNonQuery();
myCon.Close();
}
MessageBox.Show("已成功保存数据!");
}
...全文
235 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_42057153 2019-02-18
  • 打赏
  • 举报
回复
我用你这个代码,保存的后,所有的数据都变成最后一次保存那一行

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧