1数据库有个temp表。字段id,name,other
2在程序中有这样一个datatable如下
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataRow dr;
foreach (string item in CheckStates)
{
dr = dt.NewRow();
dr["userid"] = "id";
dr["name"] = "true";
dr["other"] = item.ToString();
dt.Rows.Add(dr);
}
dt.AcceptChanges();
ds.Tables.Add(dt);数据可能比较多。我希望能一次性的回填到数据库中(有没有batch方法)
DataTable 和DataSet 都行。
2在程序中有这样一个datatable如下
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataRow dr;
foreach (string item in CheckStates)
{
dr = dt.NewRow();
dr["userid"] = "id";
dr["name"] = "true";
dr["other"] = item.ToString();
dt.Rows.Add(dr);
}
dt.AcceptChanges();
ds.Tables.Add(dt);数据可能比较多。我希望能一次性的回填到数据库中(有没有batch方法)
DataTable 和DataSet 都行。
解决方案 »
- 用Dreamweaver做好的页面拷贝到aspx页面里就变形了,什么原因如何解决?!
- 如何在Url中显示注册用户的ID
- 如何用代碼控制水晶報表文本格式
- 我是完全安装的VS,怎么会提示:"你没有安装WEB组件"呢???
- 谁帮帮我解决这个错误:从客户端(FreeTextBox1="<IMG height=210 src=...")中检测到有潜在危险的 Request.Form 值。
- 关于向数据库中写入时间
- 在位置 0 处没有任何行(求助)
- 请问这句为什么错?
- 关于动态添加的控件
- .net的localhost网页无法显示
- 必须放在具有 runat=server 的窗体标记内?
- System.NullReferenceException: 未将对象引用设置到对象的实例
Public Sub SaveChanges()
Dim table As DataTable = CType(DataGrid.DataSource, DataTable)
Dim changedRow As New ArrayList
Dim row As DataRow
For Each row In table.Rows
If row.RowState <> DataRowState.Unchanged Then
changedRow.Add(row)
End If
If changedRow.Count = 0 Then
Return
End If
Next
conn.Open()
Dim str As String
str = "SELECT *,* FROM *"返回数据库的结构
Dim adapter As New SqlDataAdapter(str, conn)
Dim builder As SqlCommandBuilder = New SqlCommandBuilder(adapter)
adapter.UpdateCommand = builder.GetUpdateCommand
Dim rows() As DataRow = CType(changedRow.ToArray(GetType(DataRow)), DataRow())
adapter.Update(rows)
conn.Close()
adapter.Dispose()
End Sub
用SqlCommandBuilder 实现:public int UpdateByDataSet(DataSet ds,string strTblName,string strConnection)
{
try
{
SqlConnection conn = new SqlConnection(strConnection));
SqlDataAdapter myAdapter = new SqlDataAdapter();
SqlCommand myCommand = new SqlCommand("select * from "+strTblName),(SqlConnection)this.conn);
myAdapter.SelectCommand = myCommand;
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
myAdapter.Update(ds,strTblName);
return 0;
}
catch(BusinessException errBU)
{
//this.conn.Close();
throw errBU;
}
catch(Exception err)
{
//this.conn.Close();
throw new BusinessException(err);
}
}功能: 1.可以实现你对DataSet在UI层做任意操作后,直接丢给这个方法,这个方法就可以自动把你的修改更新到数据库中
2.只能更新一个表,不能更新关联的表,访问两次数据库,效率有些慢
注意问题: 表中必须有主键,且更新的表中字段不能有image类型的
{DataSet ds = new DataSet();
DataTable dt = createtable();
DataRow dr;
foreach (string item in CheckStates)
{
dr = dt.NewRow();
dr["userid"] = "id";
dr["PageState"] = true;
dr["elementValue"] = item.ToString();
dr["element"] = pageelement.gridviewCheck;
dr["Step"] = 1;
dt.Rows.Add(dr);
}
dt.AcceptChanges();
int aa=dt.Rows.Count;
ds.Tables.Add(dt);UpdateByDataSet(ds,"StepLimitCondition", "server=192.168.2.155;User ID=sa;Password=victor;database=gkw;Connection Reset=FALSE");
}private DataTable createtable()
{
DataTable dt = new DataTable("StepLimitCondition");
DataColumn column;
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
// column.AllowDBNull = false;
// column.DefaultValue = 25;
column.Caption = "id";
column.Unique = true;
column.ColumnName = "id";
dt.Columns.Add(column);column = new DataColumn();
column.DataType = System.Type.GetType("System.String");column.Caption = "userid";
column.ColumnName = "userid";
dt.Columns.Add(column);column = new DataColumn();
column.DataType = System.Type.GetType("System.Boolean");
column.Caption = "PageState";
column.ColumnName = "PageState";
dt.Columns.Add(column);column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.Caption = "elementValue";
column.ColumnName = "elementValue";
dt.Columns.Add(column);column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.Caption = "element";
column.ColumnName = "element";
dt.Columns.Add(column);column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.Caption = "Step";
column.ColumnName = "Step";
dt.Columns.Add(column);return dt;
}
那个代码错误你贴出错误描述信息