Я новичок, когда дело доходит до SQL. При создании хранимой процедуры с параметрами как таковыми:Сохраненная процедура Значение по умолчанию
@executed bit,
@failure bit,
@success bit,
@testID int,
@time float = 0,
@name varchar(200) = '',
@description varchar(200) = '',
@executionDateTime nvarchar(max) = '',
@message nvarchar(max) = ''
Это правильная форма для значений по умолчанию в T-SQL? Я попытался использовать NULL вместо ''.
Когда я попытался выполнить эту процедуру с помощью C#, я получил ошибку, ссылаясь на то, что описание ожидается, но не указано. При называя это вот так:
cmd.Parameters["@description"].Value = result.Description;
результат. Если это не по умолчанию значение NULL (хорошо «в моем случае прямо сейчас») в SQL?
Вот вызова команды:
cmd.CommandText = "EXEC [dbo].insert_test_result @executed,
@failure, @success, @testID, @time, @name,
@description, @executionDateTime, @message;";
...
cmd.Parameters.Add("@description", SqlDbType.VarChar);
cmd.Parameters.Add("@executionDateTime", SqlDbType.VarChar);
cmd.Parameters.Add("@message", SqlDbType.VarChar);
cmd.Parameters["@name"].Value = result.Name;
cmd.Parameters["@description"].Value = result.Description;
...
try
{
connection.Open();
cmd.ExecuteNonQuery();
}
...
finally
{
connection.Close();
}
Легче всего установить CommandType в SPROC и CommandText к "insert_test_result", хотя. – 2008-09-30 21:09:40