私はsthがないと思います。些細なはここに:私は、データセットを更新し、戻ってから来たデータベースにそれをプッシュしたいが、私は入れません午前:データセットの更新と永続化の問題
同時実行違反を: にUpdateCommandが 予想1つのレコードの0に影響を与えました。
は、ここでは、このエラーを生成するいくつかのコードです:
public static void UpdateNorthWindWithDataset()
{
string connString =
@"Data Source=localhost;Initial Catalog=NorthWind;Integrated Security=SSPI;";
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
// Declaring a DataAdapter and initiating it with a Select and updateCommand
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand selectCmd = new SqlCommand("SELECT CustomerId, City, Region " +
"FROM Customers"
, conn
);
da.SelectCommand = selectCmd;
SqlCommand updateCmd = new SqlCommand(
@"UPDATE Customers SET City='@City', Region='@Region'" +
@"WHERE CustomerID = '@CustomerID'",
conn
);
updateCmd.Parameters.AddRange(
new SqlParameter[]
{
new SqlParameter()
{
ParameterName = "@CustomerID",
SourceColumn = "customerid"
},
new SqlParameter()
{
ParameterName = "@City",
SourceColumn = "city",
SqlDbType = SqlDbType.VarChar
},
new SqlParameter()
{
ParameterName = "@Region",
SourceColumn = "region",
SqlDbType = SqlDbType.VarChar
}
}
);
da.UpdateCommand = updateCmd;
// filling dataset
DataSet ds = new DataSet();
da.Fill(ds, "srcCustomers");
// declaring and editing datatable
DataTable tblCustomers = ds.Tables["srcCustomers"];
foreach (DataRow row in tblCustomers.Rows)
{
row["City"] = "justUpdated";
row["Region"] = "justUpdated too";
}
da.Update(ds, "srcCustomers");
}
}
さて、私のendgoalはOLEDB throug MSACCESSで、この種のコードを使用しているが、私はそれをできるだけ明確たかったので、私はまだ(MSSQLを試してみました2kここで)ネイティブの.netサポートでは、まだエラーが発生しました...
+1、参考にしてください。 furter私はsqlパラメータのデフォルトのようなフィールドを参照してください – Peter