[英]Insert Currency into Access Database C#?
我想在訪問數據中插入貨幣我使用的數據類型貨幣與通用數字格式這里是我的c#代碼
decimal price = decimal.Parse(vCCY_Rate.ToString(), System.Globalization.NumberStyles.Currency);
SCmd.Parameters.AddWithValue("@CCY_Rate", price);
nReturnValue = (int)SCmd.ExecuteNonQuery();
其中vCCY_Rate是double,但是這總是在數據庫中存儲1, 有時候 0可以告訴我如何使用c#在數據庫訪問中存儲貨幣。 我有preion 6的數據,也在貨幣數據類型中提到了一般格式和主張
SQL命令
OleDbConnection SConnection = new OleDbConnection();
OleDbCommand SCmd = new OleDbCommand();
Save_Main("INSERT into tblOprCurrency_Rate ([CCY_ID_From], [CCY_ID_To] , [CCY_Active] , [CCY_Rate] ,[CCY_Chr]) VALUES (? , ? , ? ,? ,? )", cmbCurrency_From.SelectedItem.Value, cmbCurrency_To.SelectedItem.Value, Convert.ToDouble(txtCCY_Rate.Text), chkCCY_Active.Checked, 0, hdfSr_ID.Value);
public int Save_Main(string vQuery, string vCCY_ID_From, string vCCY_ID_To, double vCCY_Rate, bool bCCY_Active, int vIsUpdate, string vCCY_SrNo)
{
sErrorCode = "";
int nReturnValue = -1;
try
{
decimal price = (decimal)vCCY_Rate;
// decimal price = decimal.Parse(vCCY_Rate.ToString(), System.Globalization.NumberStyles.Currency);
SCmd.CommandText = vQuery;
SCmd.CommandType = CommandType.Text;
SCmd.Parameters.AddWithValue("@CCY_ID_From", vCCY_ID_From);
SCmd.Parameters.AddWithValue("@CCY_ID_To", vCCY_ID_To);
SCmd.Parameters.AddWithValue("@CCY_Rate", price);
SCmd.Parameters.AddWithValue("@CCY_Active", bCCY_Active);
SCmd.Parameters.AddWithValue("@CCY_Chr", Convert.ToDouble(0));
SCmd.Parameters.AddWithValue("@CCY_SrNo", vCCY_SrNo);
SCmd.Connection = SConnection;
SCmd.CommandTimeout = pSQL_CommandTimeOut;
SDataAdapter.SelectCommand = SCmd;
SConnection.Open();
nReturnValue = (int)SCmd.ExecuteNonQuery();
}
CCY_Rate是貨幣數據類型和生成格式,在ACCESS中有6個小數位
您在查詢中的代碼和位置參數中使用了命名參數 - Rate&Active的順序錯誤。
您還添加了6個參數,但只有5個位置(問號)參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.