插入十进制(MS Access) [英] Insert decimal(MS Access)
问题描述
MS Access,C#
1。将十进制值插入表。
1. Insert decimal value to table.
2。例外:"类型不匹配"。
2. Exception: "Type mismatch".
3。当前文化Windows:货币值中的小数分隔符=","数值中的小数点分隔符=","
3. Current culture Windows: decimal separator in currency values = "," decimal separator in numeric values = ","
4。在我看来,解决方案是通过connectionString更改ms访问的区域设置。
4. In my mind solution is change locale of ms access by connectionString.
5.Code:
string ConnectionString = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = \" test.mdb \" ;; Locale Identifier = 1033" ;
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"test.mdb\";Locale Identifier = 1033";
OleDbConnection connection = new OleDbConnection (ConnectionString);
OleDbConnection connection = new OleDbConnection(ConnectionString);
string insertcommand = " INSERT INTO Test(DecimalField,Id)VALUES(?,?)" ;
string insertcommand = "INSERT INTO Test (DecimalField, Id) VALUES (?, ?)";
OleDbCommand command = new OleDbCommand (insertcommand,connection);
OleDbCommand command = new OleDbCommand(insertcommand, connection);
OleDbParameter param = new OleDbParameter ( "@ DecimalField" ,999.99M);
OleDbParameter param = new OleDbParameter("@DecimalField", 999.99M);
param.DbType = DbType .Currency;
param.DbType = DbType.Currency;
command.Parameters.Add(param);
command.Parameters.Add(param);
command.Parameters.Add( new OleDbParameter ( " @ Id" , Guid .NewGuid())) ;
command.Parameters.Add(new OleDbParameter("@Id", Guid.NewGuid()));
试用
try
{
connection.Open();
connection.Open();
command.ExecuteNonQuery();
command.ExecuteNonQuery();
}
catch ( 例外 ex)
catch (Exception ex)
{
string exep = ex.Message;
string exep = ex.Message;
}
finally
finally
{
connection.Close();
connection.Close();
}
6。请写下任何信息。
6. Write any information, please.
推荐答案
写任何请提供信息。
这段代码有什么问题?你应该解释你发布它的原因。
这篇关于插入十进制(MS Access)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!