![]() |
方法1:直接使用InsertCommand实现
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataRow dr;
//以下3行可以不要,因为我们并没有插入自动增加的列的数据。
dt.Columns.Add(new DataColumn("UserId", typeof(System.Int32)));
dt.Columns[0].AutoIncrement = true;
dt.PrimaryKey = new DataColumn[] { dt.Columns["UserId"] };
//为了说明问题,我们这里设置的字段名称与MDB文件中的可以不一样
dt.Columns.Add(new DataColumn("MyUserName", typeof(System.String)));
dt.Columns.Add(new DataColumn("MyPassword", typeof(System.String)));
dt.Columns.Add(new DataColumn("MyTitle", typeof(System.String)));
//生成示例数据
for (int i = 0; i < 8; i++)
{
dr = dt.NewRow();
dr["MyUserName"] = "【孟子E章】" + i.ToString();
dr["MyPassword"] = "http://dotnet.aspx.cc/Default.aspx?id=" + i.ToString();
dr["MyTitle"] = "net_lover" + i.ToString();
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
//数据库连接字符串
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|aspxWeb2.mdb;";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
//定义插入数据的方法,注意字段名称与DataSet里面的差异
adapter.InsertCommand = new OleDbCommand("Insert Into TestTable([UserName],[Password],[Title]) values(@UserName,@Password,@Title)", connection);
OleDbParameter UserName = new OleDbParameter("@UserName", OleDbType.LongVarWChar, 1073741823, "MyUserName"); //这里的字段名称与DataSet里面的对应。
adapter.InsertCommand.Parameters.Add(UserName);
OleDbParameter Password = new OleDbParameter("@Password", OleDbType.LongVarWChar, 1073741823, "MyPassword");
adapter.InsertCommand.Parameters.Add(Password);
OleDbParameter Title = new OleDbParameter("@Title", OleDbType.LongVarWChar, 255, "MyTitle");
adapter.InsertCommand.Parameters.Add(Title);
adapter.TableMappings.Add("Table",ds.Tables[0].TableName);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
builder.QuotePrefix = "[";
builder.QuoteSuffix = "]";
adapter.Update(ds);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
//新建DataSet 和 DataTable
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dataTable1 = new System.Data.DataTable("TestTable");
System.Data.DataRow dr;
dataTable1.Columns.Add(new System.Data.DataColumn("Id", typeof(System.Int32)));
dataTable1.Columns.Add(new System.Data.DataColumn("Title", typeof(System.String)));
dataTable1.Columns.Add(new System.Data.DataColumn("Description", typeof(System.String)));
dataTable1.Columns[0].AutoIncrement = true;
dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["Id"] };
//生成示例数据
for (int i = 0; i < 8; i++)
{
dr = dataTable1.NewRow();
dr["Title"] = "【孟子E章】" + i.ToString();
dr["Description"] = "【孟子E章】" + i.ToString();
dataTable1.Rows.Add(dr);
}
ds.Tables.Add(dataTable1);
//数据库连接字符串
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|aspxWeb2.mdb";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
//定义插入数据的方法,
adapter.InsertCommand = new OleDbCommand("Insert Into TestTable([Title],[Description]) Values(@Title,@Description)", connection);
adapter.InsertCommand.Parameters.Add(new OleDbParameter("@Title",dataTable1.Columns["Title"]));
adapter.InsertCommand.Parameters.Add(new OleDbParameter("@Description", dataTable1.Columns["Description"]));
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
adapter.Update(ds);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
方法2:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dataTable1;
System.Data.DataRow dr;
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|aspxWeb2.mdb";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter("select id, [Title],[Description] from TestTable", connection);
adapter.Fill(ds, "TestTable");
dataTable1 = ds.Tables["TestTable"];
DataTableMapping dtmTable = new DataTableMapping("Table", "TestTable");
adapter.TableMappings.Add(dtmTable);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
for (int i = 0; i < 8; i++)
{
dr = dataTable1.NewRow();
dr["Title"] = "【孟子E章】" + i.ToString();
dr["Description"] = "【孟子E章】" + i.ToString();
dataTable1.Rows.Add(dr);
}
adapter.Update(ds);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>