У меня есть столбец Probability
типа поплавка в SQL Server, тогда как у меня есть некоторые вычисления в C#, как:Float удвоится в SQL Server
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 Server, в то время как в 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 равен float
, и я сохраняю double
значение _Probability
в нем или из-за чего еще есть исключение?
Вы забыли поставить запятую, 'между параметрами в вашем SQL запросе – dotctor
' UPDATE AuthorCoAuthorProbability SET Matched_Records = @_Matched_Records, Вероятность = @_Прозрачность WHERE id = @ _id' – dotctor
Похоже, вы просто пропустили мне запятую ... наверняка это должно быть 'SET Matched_Records = @_Matched_Records, Probability = @ _Probability'. –