0
私のasp.net 3.5 eコマースアプリでは、製品カタログ管理領域に製品表を編集するためのgridviewがあります。ウェイトフィールドは10進数で、10進数には更新されませんが、最も近い整数に丸められます。私の製品カタログ(10進数)は10進数に更新されません
string weight = ((TextBox)grid.Rows[e.RowIndex].FindControl("weightTextBox")).Text;
// Update an existing product
public static bool UpdateProduct(string productId, string name, string description, string weight, string price, string Thumbnail, string Image, string Inventory, string PromoFront, string Rank)
{
// get a configured DbCommand object
DbCommand comm = GenericDataAccess.CreateCommand();
// set the stored procedure name
comm.CommandText = "CatalogUpdateProduct";
....
//create a new parameter
param = comm.CreateParameter();
param.ParameterName = "@Weight";
param.Value = weight;
param.DbType = DbType.Decimal;
comm.Parameters.Add(param);
....
// result will represent the number of changed rows
int result = -1;
try
{
// execute the stored procedure
result = GenericDataAccess.ExecuteNonQuery(comm);
}
catch
{
// any errors are logged in GenericDataAccess, we ignore them here
}
// result will be 1 in case of success
return (result != -1);
}
グッドポイント。私はあなたのキャスティングと喜びを試みた。しかし、私をベストプラクティスに導いてくれてありがとう。文全体を囲む余分な括弧を挿入しました。小数点以下桁数= Decimal.Parse(((TextBox)grid.Rows [e.RowIndex] .FindControl( "weightTextBox"))。 –