数据的更新与修改问题
这个怎么搞的?它提示说:需要INSERT,晕了,datarow中不是有可以添加的方法吗?希望大家帮我看一下,谢谢!~
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsApplication4
{
public partial class frmEdit : Form
{
private DataRow drUpdate;
private bool AddUpdate;
public frmEdit()
{
InitializeComponent();
}
private void frmEdit_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“examDataSet.userinfo”中。您可以根据需要移动或移除它。
this.userinfoTableAdapter.Fill(this.examDataSet.userinfo);
OleDbConnection examConnectionString = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\System(C#)\\WindowsApplication4\\WindowsApplication4\\exam.mdb");
string sql = "select * from userinfo";
OleDbCommand comm = new OleDbCommand(sql, examConnectionString);
examConnectionString.Open();
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = comm;
int j = da.Fill(examDataSet, "userinfo");
if (j != 0)
{
int i = this.BindingContext[examDataSet, "userinfo"].Position;
DataRow dr = examDataSet.Tables["userinfo"].Rows[i];
}
}
private void bntExit_Click(object sender, EventArgs e)
{
if (MessageBox.Show("你确定要退出吗?", "--提示--", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) ;
this.Dispose();
}
private void bntfirst_Click(object sender, EventArgs e)
{
this.BindingContext[examDataSet, "userinfo"].Position = 0;
int i = this.BindingContext[examDataSet, "userinfo"].Position;
DataRow dr = examDataSet.Tables["userinfo"].Rows[i];
}
private void bntp_Click(object sender, EventArgs e)
{
this.BindingContext[examDataSet, "userinfo"].Position -= 1;
int i = this.BindingContext[examDataSet, "userinfo"].Position;
DataRow dr = this.examDataSet.Tables["userinfo"].Rows[i];
}
private void bntExit_Click_1(object sender, EventArgs e)
{
if (MessageBox.Show("你确定要退出吗?", "--提示--", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) ;
this.Dispose();
}
private void bntn_Click(object sender, EventArgs e)
{
this.BindingContext[examDataSet, "userinfo"].Position += 1;
int i = this.BindingContext[examDataSet, "userinfo"].Position;
DataRow dr = this.examDataSet.Tables["userinfo"].Rows[i];
}
private void bntl_Click(object sender, EventArgs e)
{
this.BindingContext[examDataSet, "userinfo"].Position = this.BindingContext[examDataSet, "userinfo"].Count - 1;
int i = this.BindingContext[examDataSet, "userinfo"].Position;
DataRow dr = this.examDataSet.Tables["userinfo"].Rows[i];
//this.BindingContext[dataSet21, "userinfo"].Position = this.BindingContext[dataSet21, "userinfo"].Count - 1;
//int i = this.BindingContext[dataSet21, "userinfo"].Position;
//DataRow dr = dataSet21.Tables["userinfo"].Rows[i];
}
private void bntadd_Click(object sender, EventArgs e)
{
this.textBox1.Focus();
this.textBox1.Text = "";
this.textBox2.Text = "";
this.textBox3.Text = "";
this.textBox4.Text = "";
this.textBox5.Text = "";
this.textBox6.Text = "";
this.textBox7.Text = "";
this.textBox8.Text = "";
this.textBox9.Text = "";
AddUpdate = true;
}
private void bntupdate_Click(object sender, EventArgs e)
{
if (AddUpdate == true)
{
try
{
OleDbDataAdapter da=new OleDbDataAdapter();
DataRow drAdd;
drAdd = this.examDataSet.Tables["userinfo"].NewRow();
drAdd["id"] = this.textBox1.Text.Trim().ToString();
drAdd["name"] = this.textBox2.Text.Trim().ToString();
drAdd["sex"] = this.textBox3.Text.Trim().ToString();
drAdd["kind"] = this.textBox4.Text.Trim().ToString();
drAdd["address"] = this.textBox5.Text.Trim().ToString();
drAdd["numb"] = this.textBox6.Text.Trim().ToString();
drAdd["info"] = this.textBox7.Text.Trim().ToString();
drAdd["tel"] = Convert.ToInt32(this.textBox8.Text.Trim().ToString());
drAdd["money"] = Convert.ToDecimal(this.textBox9.Text.Trim());
this.examDataSet.Tables["userinfo"].Rows.Add(drAdd);
da.Update(examDataSet, "userinfo");
if (MessageBox.Show("准备加入新的记录,你需要继续吗?", "=提示:--", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information) == DialogResult.Yes)
{
this.textBox1.Focus();
this.textBox1.Text = "";
this.textBox2.Text = "";
this.textBox3.Text = "";
this.textBox4.Text = "";
this.textBox5.Text = "";
this.textBox6.Text = "";
this.textBox7.Text = "";
this.textBox8.Text = "";
this.textBox9.Text = "";
}
else
{
this.examDataSet.Tables["userinfo"].Rows.Clear();
da.Fill(examDataSet, "userinfo");
}
}
catch (Exception ex)
{
OleDbDataAdapter da = new OleDbDataAdapter() ;
MessageBox.Show(ex.Message);
this.examDataSet.Tables["userinfo"].Clear();
da.Fill(this.examDataSet, "userinfo");
}
}
else
{
try
{
drUpdate.BeginEdit();
drUpdate["id"] = this.textBox1.Text.Trim().ToString();
drUpdate["name"] = this.textBox2.Text.Trim().ToString();
drUpdate["sex"] = this.textBox3.Text.Trim().ToString();
drUpdate["kind"] = this.textBox4.Text.Trim().ToString();
drUpdate["adress"] = this.textBox5.Text.Trim().ToString();
drUpdate["numb"] = this.textBox6.Text.Trim().ToString();
drUpdate["info"] = this.textBox7.Text.Trim().ToString();
drUpdate["tel"] = Convert.ToInt32(this.textBox8.Text.Trim().ToString());
drUpdate["money"] = Convert.ToDecimal(this.textBox9.Text.Trim());
drUpdate.EndEdit();
OleDbDataAdapter da = new OleDbDataAdapter();
da.Update(examDataSet,"userinfo");
MessageBox.Show("更新成功,请返回查看","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
问题点数:20、回复次数:3Top
1 楼sekone()回复于 2006-06-02 18:01:34 得分 0
代码太多头晕啊
你也写关键的地方啊Top
2 楼lovejxl(CapTsubasa)回复于 2006-06-02 18:27:05 得分 0
加上这句:
SqlCommandBuilder cb=new SqlCommandBuilder(da);Top
3 楼zhzuo(秋枫)回复于 2006-06-02 22:50:34 得分 0
数据库操作,
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspxTop




