У меня очень тяжелое время с моим приложением C#. Каждый раз, когда я запускаю код ниже, он дает мне ошибку об преобразовании типа данных nvarchar в int. Я попробовал кастинг, но он, похоже, не работает.C# Ошибка: ошибка преобразования типа nvarchar в int. ПОМОГИТЕ!
ConnectionString myConnString = new ConnectionString();
string connString = myConnString.getConnectionString();
SqlConnection connValidate = new SqlConnection(connString);
SqlCommand cmdValidate = new SqlCommand("XXX", connValidate);
cmdValidate.CommandType = CommandType.StoredProcedure;
cmdValidate.Parameters.Add(new SqlParameter("@AccountID", currentUser));
cmdValidate.Parameters.Add(new SqlParameter("@PeriodMonth", Convert.ToString(comboBoxMonth.SelectedItem).Trim().ToUpper()));
cmdValidate.Parameters.Add(new SqlParameter("@PeriodYear", Convert.ToInt32(comboBoxYear.SelectedValue)));
connValidate.Open();
Int32 result = Convert.ToInt32(cmdValidate.ExecuteScalar());
connValidate.Dispose();
connValidate.Close();
ЗДЕСЬ хранимая процедура, которую я использую:
ALTER PROCEDURE [dbo].[XXX]
@AccountID char(6),
@PeriodMonth char(10),
@PeriodYear int,
@Date int,
@PeriodID int,
@InventoryID int,
@ProductOutID int
AS
SELECT @PeriodID = PeriodID FROM Periods
WHERE PeriodMonth = @PeriodMonth AND PeriodYear = @PeriodYear AND AccountID = @AccountID
SELECT @InventoryID = InventoryID FROM Fact
WHERE PeriodID = @PeriodID AND AccountID = @AccountID
SELECT @ProductOutID = ProductOutID FROM Inventory
WHERE InventoryID = @InventoryID
SELECT DailyOutID FROM DailyOut
WHERE ProductOutID = @ProductOutID AND Date = @Date
RETURN
Что я хочу сделать здесь, чтобы проверить, является ли период того же месяца и года, введенный пользователем, уже существующие в базы данных. Таким образом, в основном хранимая процедура должна возвращать значение, если введенный период уже существует, если это так, то пользователю будет показано сообщение MessageBox
, предупреждающее о существовании того же периода. Большое спасибо! :)
спасибо за ответ. можете ли вы рассказать мне, как я могу получить доступ к SQL Profiler? Я не знаю, где я могу это найти. Спасибо: D – Acinsoft
Какую версию SQL Server вы используете? –