У меня проблема здесь, ранее я получал значения из SqlCommand
из столбца varchar
в моей таблице.
С этим кодом:
connection.Open();
request += "SELECT * ";
//SqlCommand GetCommand = new SqlCommand("SELECT RA_BINAIRE FROM MR_RAPPORT WHERE RA_ID=@RA_ID");
request += "FROM " + table + " WHERE " + searchcol + " = " + "@ID";
//request += "FROM " + table + " WHERE CO_ID = " + "@ID";
SqlCommand GetCommand = new SqlCommand(request, connection);
Int16 convertedValue = this.ConvertByType(searchcolType, code);
Console.WriteLine(convertedValue.GetType());
var convertedValueHelper = SqlHelper.GetDbType(convertedValue.GetType());
SqlDbType dbType = SqlHelper.GetSqlByType(searchcolType);
//var param = new SqlParameter()
//{
// SqlDbType = SqlHelper.GetSqlByType(searchcolType),
// TypeName = SqlHelper.GetDbType(convertedValue.GetType()),
// Value = Convert.ToInt16("12")
//};
//var param = new SqlParameter("ID", convertedValue);
//GetCommand.Parameters.Add(param);
GetCommand.Parameters.AddWithValue("ID", convertedValue);
GetCommand.Connection = connection;
SqlDataAdapter sda = new SqlDataAdapter(GetCommand);
DataTable dt = new DataTable();
sda.Fill(dt);
SqlDataReader reader = GetCommand.ExecuteReader();
reader.Read();
DataTable dataTable = new DataTable();
dataTable.Load(reader);
string jsonStr = Utils.DataTableToJsonObj(dataTable);
connection.Close();
Работает нормальнос моим столбцом varchar
с типом string, но с моим идентификатором внешнего ключа, равным SqlDbType.SmallInt
и значением int16, данные не извлекаются.
Я пробовал с другим столбцом varchar
, и он также работает.
Не могу понять, почему ....
Любая помощь здесь будет очень признательна.
Заранее спасибо, ребята,