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

简单的操作,C#连接access,通过winform的datagrid显示出来。但是删除和update怎么弄呢?假如说access有三列,序号和用户名和密码,在datag... 简单的操作,
C#连接access,通过winform的datagrid显示出来。
但是删除和update怎么弄呢?假如说access有三列,序号和用户名和密码,在datagrid中显示用户名和密码,序号不显示,哪如果要做删除和更新,怎么获得当前被选中的列呢?然后传到access
还有分页
请问这个更新是更新整个数据表吧?
我的想法datagrid界面是readonly的,然后点击一个button,弹出一个框,显示选中的数据,然后修改,保存。 问题是如何判断当前选中的数据,并且传到新form里面呢? 并且如果修改这一条的话,怎么更新呢?
展开
 我来答
创作者zUzVB1Sl31
推荐于2016-03-20 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部
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();
内裤最大功能
2015-09-05 · TA获得超过3105个赞
知道大有可为答主
回答量:3202
采纳率:79%
帮助的人:489万
展开全部
去博客园搜,多的是。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
揭戈雅s2
2015-09-05 · TA获得超过514个赞
知道小有建树答主
回答量:8621
采纳率:0%
帮助的人:2317万
展开全部
c# 源码 我可以帮写一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式