目前在学习C#的winform连接access做增删改查,求源码

简单的操作,
C#连接access,通过winform的datagrid显示出来。
但是删除和update怎么弄呢?假如说access有三列,序号和用户名和密码,在datagrid中显示用户名和密码,序号不显示,哪如果要做删除和更新,怎么获得当前被选中的列呢?然后传到access
还有分页
请问这个更新是更新整个数据表吧?
我的想法datagrid界面是readonly的,然后点击一个button,弹出一个框,显示选中的数据,然后修改,保存。 问题是如何判断当前选中的数据,并且传到新form里面呢? 并且如果修改这一条的话,怎么更新呢?

public DataSet ds=null;
public OleDbConnection cnn=null;
public OleDbDataAdapter oda=null;  
void openlink()
{
   cnn=new OleDbConnection();
   cnn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Application.StartPath+@"/data.db;jetoledb password='1111'";//一般我们把数据库放bin目录下,然后后缀修改成db,再加个密码 
   try{cnn.Open()}
   cacth{MessageBox.Show("连接数据库失败!")}    
}  
void linksql(String sql)
{
    if (cnn!= null)
    {
       ds = new DataSet();
       oda = new OleDbDataAdapter();
       oda.SelectCommand = new SqlCommand(sql, cnn);
       OleDbCommandBuilder builder = new OleDbCommandBuilder(oda);
       oda.Fill(ds);
    }  
}
void saveupdate()
{
    if (ds != null)
    {
       oda.Update(ds.Tables[0]);
       MessageBox.Show("操作已成功!", "保存数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
     } 
}    
public void fillGrid(DataSet ds, BindingNavigator b, DataGridView d)
{
    BindingSource bs = new BindingSource();
    bs.DataSource = ds.Tables[0];
    b.BindingSource = bs;
    d.DataSource = bs;
}

 上面的代码就是,你先openlink()打开链接,再用link(sql)查询数据库,最后fillGrid填充到表格和数据导航,直接在表格里增删查,然后saveupdate就完事。

追问

请问这个更新是更新整个数据表吧?
我的想法datagrid界面是readonly的,然后点击一个button,弹出一个框,显示选中的数据,然后修改,保存。 问题是如何判断当前选中的数据,并且传到新form里面呢? 并且如果修改这一条的话,怎么更新呢?

追答

肯定是更新整个表啊,dataGridView你修改的时候就要给修改列权限,只读你怎么去修改?判断选中数据,传到新form里面是另一码事,从始至终修改跟传值风马牛不相及。新form如果是新弹出来的,你就在新窗口里封装变量,代码:

//传到新form的textBox1
public String str
{
   get{return textBox1.Text;}
   set{textBox1.Text=value;}  

//dataGridView窗体
void Send(DataGridViewRows e)
{
   form f=new form();
   f.str=dataGridView1.Rows[e.Index].Cells["列名"].Value.ToString();
   f.ShowDialog();   
}

如果你是已经打开过的窗体,那就直接在窗体里公开变量,直接传值:

//form
public static String str
{
  get{return textBox1.Text;}
  set{textBox1.Text=value;}  
}  
//Grid载体窗体
form.str=dataGridView1.Rows[e.Index].Cells["列名"].Value.ToString();

追问

想做这种修改:对当前行进行修改,并弹出一个窗口,窗口里面的数据窗口输入记录后,把记录存入到SQL数据库中,关闭窗口后,刷新dataGridView中的内容。是当前行的数据,确定后把修改的数据存入SQL数据库,刷新dataGridView中的内容。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-05
去博客园搜,多的是。
第2个回答  2015-09-05
c# 源码 我可以帮写一个
相似回答