目前在学习C#的winform连接access做增删改查,求源码
简单的操作,C#连接access,通过winform的datagrid显示出来。但是删除和update怎么弄呢?假如说access有三列,序号和用户名和密码,在datag...
简单的操作,
C#连接access,通过winform的datagrid显示出来。
但是删除和update怎么弄呢?假如说access有三列,序号和用户名和密码,在datagrid中显示用户名和密码,序号不显示,哪如果要做删除和更新,怎么获得当前被选中的列呢?然后传到access
还有分页
请问这个更新是更新整个数据表吧?
我的想法datagrid界面是readonly的,然后点击一个button,弹出一个框,显示选中的数据,然后修改,保存。 问题是如何判断当前选中的数据,并且传到新form里面呢? 并且如果修改这一条的话,怎么更新呢? 展开
C#连接access,通过winform的datagrid显示出来。
但是删除和update怎么弄呢?假如说access有三列,序号和用户名和密码,在datagrid中显示用户名和密码,序号不显示,哪如果要做删除和更新,怎么获得当前被选中的列呢?然后传到access
还有分页
请问这个更新是更新整个数据表吧?
我的想法datagrid界面是readonly的,然后点击一个button,弹出一个框,显示选中的数据,然后修改,保存。 问题是如何判断当前选中的数据,并且传到新form里面呢? 并且如果修改这一条的话,怎么更新呢? 展开
3个回答
展开全部
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();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询