18 个解决方案
#1
还有我的数据库是access的
#2
首先你要将数据读出到内存表dataset中,然后将你的datagrid控件的数据源绑定到该dataset中,例如下面,在你的
相应函数中调用就可以了
/// <summary>
/// 用Adapter方式打开数据库和访问数据库
/// </summary>
/// <param name="dataGridView">待填充的控件</param>
/// <param name="strConnect">数据库连接字符串,如string dbConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\\test.mdb; ";</param>
/// <param name="strSql">sql语句,如SELECT * FROM [tblSampleInformation]</param>
public static void LoadInfo(DataGridView dataGridView, string strConnect, string strSql)
{
string dbCommand = null;
string dbConnect = strConnect;
dbCommand = strSql;
OleDbConnection mySqlConnection = new OleDbConnection(dbConnect);
OleDbDataAdapter mySqlDataAdapter = new OleDbDataAdapter(dbCommand, mySqlConnection);
DataSet myDataSet = new DataSet();
DataView myDataView;
try
{
mySqlConnection.Open();
mySqlDataAdapter.Fill(myDataSet, "Relation Join");
myDBTransaction.Commit();
myDataView = myDataSet.Tables["Relation Join"].DefaultView;
dataGridView.DataSource = myDataView;
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
finally
{
mySqlConnection.Close();
}
}
相应函数中调用就可以了
/// <summary>
/// 用Adapter方式打开数据库和访问数据库
/// </summary>
/// <param name="dataGridView">待填充的控件</param>
/// <param name="strConnect">数据库连接字符串,如string dbConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\\test.mdb; ";</param>
/// <param name="strSql">sql语句,如SELECT * FROM [tblSampleInformation]</param>
public static void LoadInfo(DataGridView dataGridView, string strConnect, string strSql)
{
string dbCommand = null;
string dbConnect = strConnect;
dbCommand = strSql;
OleDbConnection mySqlConnection = new OleDbConnection(dbConnect);
OleDbDataAdapter mySqlDataAdapter = new OleDbDataAdapter(dbCommand, mySqlConnection);
DataSet myDataSet = new DataSet();
DataView myDataView;
try
{
mySqlConnection.Open();
mySqlDataAdapter.Fill(myDataSet, "Relation Join");
myDBTransaction.Commit();
myDataView = myDataSet.Tables["Relation Join"].DefaultView;
dataGridView.DataSource = myDataView;
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
finally
{
mySqlConnection.Close();
}
}
#3
上面的myDBTransaction.Commit(); 应该注销,原来我是用的事务的.
#4
我是想点击添加按钮后,输入的东西能自动添加进数据库去
#5
噢,不好意思,没完全看明白!
那你应该在添加按钮相应函数中写更新数据库的语句了
那你应该在添加按钮相应函数中写更新数据库的语句了
#6
那上面的代码是?
是不是里面还要写存储过程啊,因为将来在客户端还会插入很多数据的。
我就是还不知道怎么调用存储过程
是不是里面还要写存储过程啊,因为将来在客户端还会插入很多数据的。
我就是还不知道怎么调用存储过程
#7
绑定之后,只要数据源中增加了新记录,DataGrid/DataGridView界面上会自动增加新行。
#8
可是如果是要新增加行呢
#9
#10
哦,那我只要在按钮里在写个sql语句就行了,对吧
#11
不需要,这里:
数据已经在内存中了,只需要:
当然,你要能保证访问到myDataSet。
mySqlDataAdapter.Fill(myDataSet, "Relation Join");
数据已经在内存中了,只需要:
DataTable dt=myDataSet.Tables["Relation Join"];
DataRow dr=dt.NewRow();
dt.Rows.Add(dr);
当然,你要能保证访问到myDataSet。
#12
那么我这个添加按钮是不是不用加了
#13
只要你能确定一个合适的时机执行这个动作就行了:
DataTable dt=myDataSet.Tables["Relation Join"];
DataRow dr=dt.NewRow();
dt.Rows.Add(dr);
#14
datagridview 好像没有绑定的啊
#15
没有绑定?设置了DataSource就会绑定。
#16
哦,谢谢啦。我本来以为它像datagrid一样的。
#17
在这一点上,有什么不同吗?
#18
datagrid可以点出databind;
但是datagridview不行啊
但是datagridview不行啊
#1
还有我的数据库是access的
#2
首先你要将数据读出到内存表dataset中,然后将你的datagrid控件的数据源绑定到该dataset中,例如下面,在你的
相应函数中调用就可以了
/// <summary>
/// 用Adapter方式打开数据库和访问数据库
/// </summary>
/// <param name="dataGridView">待填充的控件</param>
/// <param name="strConnect">数据库连接字符串,如string dbConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\\test.mdb; ";</param>
/// <param name="strSql">sql语句,如SELECT * FROM [tblSampleInformation]</param>
public static void LoadInfo(DataGridView dataGridView, string strConnect, string strSql)
{
string dbCommand = null;
string dbConnect = strConnect;
dbCommand = strSql;
OleDbConnection mySqlConnection = new OleDbConnection(dbConnect);
OleDbDataAdapter mySqlDataAdapter = new OleDbDataAdapter(dbCommand, mySqlConnection);
DataSet myDataSet = new DataSet();
DataView myDataView;
try
{
mySqlConnection.Open();
mySqlDataAdapter.Fill(myDataSet, "Relation Join");
myDBTransaction.Commit();
myDataView = myDataSet.Tables["Relation Join"].DefaultView;
dataGridView.DataSource = myDataView;
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
finally
{
mySqlConnection.Close();
}
}
相应函数中调用就可以了
/// <summary>
/// 用Adapter方式打开数据库和访问数据库
/// </summary>
/// <param name="dataGridView">待填充的控件</param>
/// <param name="strConnect">数据库连接字符串,如string dbConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\\test.mdb; ";</param>
/// <param name="strSql">sql语句,如SELECT * FROM [tblSampleInformation]</param>
public static void LoadInfo(DataGridView dataGridView, string strConnect, string strSql)
{
string dbCommand = null;
string dbConnect = strConnect;
dbCommand = strSql;
OleDbConnection mySqlConnection = new OleDbConnection(dbConnect);
OleDbDataAdapter mySqlDataAdapter = new OleDbDataAdapter(dbCommand, mySqlConnection);
DataSet myDataSet = new DataSet();
DataView myDataView;
try
{
mySqlConnection.Open();
mySqlDataAdapter.Fill(myDataSet, "Relation Join");
myDBTransaction.Commit();
myDataView = myDataSet.Tables["Relation Join"].DefaultView;
dataGridView.DataSource = myDataView;
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
finally
{
mySqlConnection.Close();
}
}
#3
上面的myDBTransaction.Commit(); 应该注销,原来我是用的事务的.
#4
我是想点击添加按钮后,输入的东西能自动添加进数据库去
#5
噢,不好意思,没完全看明白!
那你应该在添加按钮相应函数中写更新数据库的语句了
那你应该在添加按钮相应函数中写更新数据库的语句了
#6
那上面的代码是?
是不是里面还要写存储过程啊,因为将来在客户端还会插入很多数据的。
我就是还不知道怎么调用存储过程
是不是里面还要写存储过程啊,因为将来在客户端还会插入很多数据的。
我就是还不知道怎么调用存储过程
#7
绑定之后,只要数据源中增加了新记录,DataGrid/DataGridView界面上会自动增加新行。
#8
可是如果是要新增加行呢
#9
#10
哦,那我只要在按钮里在写个sql语句就行了,对吧
#11
不需要,这里:
数据已经在内存中了,只需要:
当然,你要能保证访问到myDataSet。
mySqlDataAdapter.Fill(myDataSet, "Relation Join");
数据已经在内存中了,只需要:
DataTable dt=myDataSet.Tables["Relation Join"];
DataRow dr=dt.NewRow();
dt.Rows.Add(dr);
当然,你要能保证访问到myDataSet。
#12
那么我这个添加按钮是不是不用加了
#13
只要你能确定一个合适的时机执行这个动作就行了:
DataTable dt=myDataSet.Tables["Relation Join"];
DataRow dr=dt.NewRow();
dt.Rows.Add(dr);
#14
datagridview 好像没有绑定的啊
#15
没有绑定?设置了DataSource就会绑定。
#16
哦,谢谢啦。我本来以为它像datagrid一样的。
#17
在这一点上,有什么不同吗?
#18
datagrid可以点出databind;
但是datagridview不行啊
但是datagridview不行啊