Public Sub Insert() Dim dt As DataTable = New DataTable() Dim dr As DataRow dt.Columns.Add(New DataColumn("name")) Dim j As Integer For j = 1 To 10 dr = dt.NewRow() dr(0) = "name" + j.ToString() dt.Rows.Add(dr) Next DataGrid2.DataSource = dt DataGrid2.DataBind() Dim conn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\UserLog.mdb") conn.Open() Dim myAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter() Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand("Insert into mm (name) values (@name)", conn) cmd.Parameters.Add("@name", "name") cmd.Parameters.Item("@name").SourceColumn = dt.Columns("name").ColumnName myAdapter.InsertCommand = cmd myAdapter.Update(dt) conn.Close() End Sub
http://samples.gotdotnet.com/quickstart/howto/doc/adoplus/updatedatafromdb.aspx
<%@ Import Namespace="System.Data.OleDb" %>
<script Language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
string strConnection,strSQL;
DataSet objDataSet = new DataSet();
OleDbConnection objConnection = null;
OleDbDataAdapter objAdapter = null; strConnection = "Provider = Microsoft.Jet.OleDb.4.0;";
strConnection += @"Data Source=E:\aspcode\Northwind.mdb";
strSQL = "SELECT EmployeeID,FirstName,LastName FROM Employees;"; objConnection = new OleDbConnection(strConnection);
objAdapter = new OleDbDataAdapter(strSQL,objConnection); objAdapter.Fill(objDataSet,"Employees"); dgNameList1.DataSource = objDataSet.Tables["Employees"].DefaultView;
dgNameList1.DataBind();
DataTable objTable = null;
DataRow objnewRow = null;
objTable = objDataSet.Tables["Employees"];
objnewRow = objTable.NewRow();
objnewRow["FirstName"] = "Norman";
objnewRow["LastName"] = "Blake";
objTable.Rows.Add(objnewRow); objnewRow = objTable.NewRow();
objnewRow["FirstName"] = "Kasey";
objnewRow["LastName"] = "Chambers";
objTable.Rows.Add(objnewRow);
dgNameList2.DataSource = objTable.DefaultView;
dgNameList2.DataBind(); DataRow objRow = null;
objRow = objTable.Rows[3];
objRow["FirstName"] = "John";
objRow["LastName"] = "Hartford"; dgNameList3.DataSource = objTable.DefaultView;
dgNameList3.DataBind();
objTable.Rows[objTable.Rows.Count-2].Delete(); dgNameList4.DataSource = objTable.DefaultView;
dgNameList4.DataBind(); OleDbCommandBuilder objBuilder = null;
objBuilder = new OleDbCommandBuilder(objAdapter);
objAdapter.UpdateCommand = objBuilder.GetUpdateCommand();
objAdapter.InsertCommand = objBuilder.GetInsertCommand();
objAdapter.DeleteCommand = objBuilder.GetDeleteCommand(); objAdapter.Update(objDataSet,"Employees");
strSQL = "SELECT EmployeeID,FirstName,LastName FROM Employees";
objConnection.Open();
OleDbCommand objCmd = new OleDbCommand(strSQL,objConnection);
dgUpd.DataSource = objCmd.ExecuteReader(CommandBehavior.CloseConnection);
dgUpd.DataBind();
}
</script> <html>
<body>
<TABLE width="100%">
<TR>
<TD>Original Data</TD>
<TD>Data with new Row</TD>
<TD>Data with edited Row</TD>
<TD>Data with Deleted Row</TD>
</TR>
<TR>
<TD><asp:DataGrid id="dgNameList1" runat="server"/></TD>
<TD><asp:DataGrid id="dgNameList2" runat="server"/></TD>
<TD><asp:DataGrid id="dgNameList3" runat="server"/></TD>
<TD><asp:DataGrid id="dgNameList4" runat="server"/></TD>
</TR>
</TABLE>
<hr/>Data feched from database after the update<br>
<asp:DataGrid id ="dgUpd" runat="server"/>
</body>
</html>
http://chs.gotdotnet.com/quickstart/howto/doc/adoplus/updatedatafromdb.aspx这个是中文的(asp.net快速入门)中的例子。
strConn = ConfigurationSettings.AppSettings["DBConnectString"];
SqlConnection sqlConn = new SqlConnection(strConn);
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlConn;
sqlConn.Open();
strCmd="select * from EquipMove";
sqlCmd.CommandText=strCmd;
SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCmd);
SqlCommandBuilder sqlCmdBuilder=new SqlCommandBuilder(sqlAdapter);
sqlAdapter.DeleteCommand=sqlCmdBuilder.GetDeleteCommand();
sqlAdapter.InsertCommand=sqlCmdBuilder.GetInsertCommand();
sqlAdapter.UpdateCommand=sqlCmdBuilder.GetUpdateCommand();
SqlTransaction tra=sqlConn.BeginTransaction();
sqlAdapter.DeleteCommand.Transaction=tra;
sqlAdapter.InsertCommand.Transaction=tra;
sqlAdapter.UpdateCommand.Transaction=tra;
sqlAdapter.Update(dataset,"TableMove");
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("name"))
Dim j As Integer
For j = 1 To 10
dr = dt.NewRow()
dr(0) = "name" + j.ToString()
dt.Rows.Add(dr)
Next
DataGrid2.DataSource = dt
DataGrid2.DataBind()
Dim conn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\UserLog.mdb")
conn.Open()
Dim myAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter()
Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand("Insert into mm (name) values (@name)", conn)
cmd.Parameters.Add("@name", "name")
cmd.Parameters.Item("@name").SourceColumn = dt.Columns("name").ColumnName
myAdapter.InsertCommand = cmd
myAdapter.Update(dt)
conn.Close()
End Sub
to guoyan19811021(吉祥) :
代码好像有问题,cmd.Parameters.Item("@name").SourceColumn
Parameters没Item这个属性谢谢大家,但还是没解决,郁闷啊,谁帮帮我