在 SQL 服务器中浮动到双倍
Float to Double in SQL Server
我在 SQL 服务器中有一个 float 类型的列 Probability
而我在 C# 中有一些计算如下:
var _Total_Records = 0;
var _Matchings = 0;
var _Probability = 0.0;
_Matchings = Convert.ToInt32(_myCommand_2.ExecuteScalar());
_Probability = Convert.ToDouble(_Matchings.ToString()) / Convert.ToDouble(_Total_Records);
现在我想将这个 _Probability
值写入 SQL 服务器 table,而在 WriteToDatabase()
方法中,即
public static void Write_To_Database(int _id, int _Matched, double _Prob)
{
var _Result = 0;
SqlConnection _con = _cs.GetConnection();
try
{
string _myUpdate_Command_1 = @"UPDATE AuthorCoAuthorProbability
SET Matched_Records = @_Matched_Records
Probability = @_Probability
WHERE id = @_id";
SqlCommand _myUpdate_Command = new SqlCommand(_myUpdate_Command_1, _con);
_myUpdate_Command.Parameters.AddWithValue("@_id", _id);
_myUpdate_Command.Parameters.AddWithValue("@_Matched_Records", _Matched);
_myUpdate_Command.Parameters.AddWithValue("@_Probability", _Prob);
_Result = _myUpdate_Command.ExecuteNonQuery();
_cs.Dispose();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
在 _Result =_myUpdate_Command.ExecuteNonQuery();
命令:
我遇到了异常,即
Incorrect syntax near `Probability`
是否存在数据类型错误?由于 SQL Server table 中的列数据类型是 float
并且我在其中存储 double
值 _Probability
或者由于其他原因例外?
您的 SQL 声明中缺少一个逗号
替换
SET Matched_Records = @_Matched_Records Probability = @_Probability
和
SET Matched_Records = @_Matched_Records, Probability = @_Probability
我在 SQL 服务器中有一个 float 类型的列 Probability
而我在 C# 中有一些计算如下:
var _Total_Records = 0;
var _Matchings = 0;
var _Probability = 0.0;
_Matchings = Convert.ToInt32(_myCommand_2.ExecuteScalar());
_Probability = Convert.ToDouble(_Matchings.ToString()) / Convert.ToDouble(_Total_Records);
现在我想将这个 _Probability
值写入 SQL 服务器 table,而在 WriteToDatabase()
方法中,即
public static void Write_To_Database(int _id, int _Matched, double _Prob)
{
var _Result = 0;
SqlConnection _con = _cs.GetConnection();
try
{
string _myUpdate_Command_1 = @"UPDATE AuthorCoAuthorProbability
SET Matched_Records = @_Matched_Records
Probability = @_Probability
WHERE id = @_id";
SqlCommand _myUpdate_Command = new SqlCommand(_myUpdate_Command_1, _con);
_myUpdate_Command.Parameters.AddWithValue("@_id", _id);
_myUpdate_Command.Parameters.AddWithValue("@_Matched_Records", _Matched);
_myUpdate_Command.Parameters.AddWithValue("@_Probability", _Prob);
_Result = _myUpdate_Command.ExecuteNonQuery();
_cs.Dispose();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
在 _Result =_myUpdate_Command.ExecuteNonQuery();
命令:
我遇到了异常,即
Incorrect syntax near `Probability`
是否存在数据类型错误?由于 SQL Server table 中的列数据类型是 float
并且我在其中存储 double
值 _Probability
或者由于其他原因例外?
您的 SQL 声明中缺少一个逗号
替换
SET Matched_Records = @_Matched_Records Probability = @_Probability
和
SET Matched_Records = @_Matched_Records, Probability = @_Probability