Хранимая процедура не будет работать для других ПК
Привет, я использую C# с sql server, и у меня есть этот код с хранимой процедурой, которая отлично работает со мной, но с другими запусками хорошо, но эта хранимая процедура не работает на том ПК, я действительно не знаю, почему и вот мой код
private void button6_Click(object sender, EventArgs e) { Password frm = new Password(); frm.ShowDialog(); if (password_text == true) { foreach (DataGridViewRow row in dataGridView1.Rows) { DataGridViewCheckBoxCell check = row.Cells[12] as DataGridViewCheckBoxCell; if (check.Value != null) { try { //to check if not checked: if (Convert.ToBoolean(check.Value) == true) { SelectedProcced(Convert.ToDateTime(row.Cells[1].Value), row.Cells[2].Value.ToString(), DateTime.Now.ToString("MM/dd/yyy"),_application.Shift.StaffId.ToString()); } } catch { } } } } GetDataRP(); }
А вот мой метод который запускает хранимую процедуру которая не работает на другом ПК
public void SelectedProcced(DateTime? createdate, string itemid, string ReviewDate, string STAFFID) { connection.Open(); SqlParameter[] param = new SqlParameter[4]; param[0] = new SqlParameter("@createdate", SqlDbType.DateTime); param[0].Value = createdate; param[1] = new SqlParameter("@itemid", SqlDbType.NVarChar, 200); param[1].Value = itemid; param[2] = new SqlParameter("@ReviewDate", SqlDbType.NVarChar, 200); param[2].Value = ReviewDate; param[3] = new SqlParameter("@STAFFID", SqlDbType.NVarChar, 200); param[3].Value = STAFFID; ExecuteCommand("SelectedProcced", param); connection.Close(); }
а вот моя хранимая процедура
Create PROCEDURE [dbo].[SelectedProcced] @createdate datetime, @itemid NVarChar(200),@ReviewDate NVarChar(200),@STAFFID NVarChar(200) as UPDATE TOP (1) ax.RETAILTRANSACTIONSALESTRANS2 SET [Process]=1 WHERE ([ITEMID]=@itemid or [BARCODE]=@itemid)
Что я уже пробовал:
я даже пытаюсь изменить имя моей хранимой процедуры, но проблема в том, что этот единственный метод не работает на другом ПК, но другие методы прекрасно работают с моим ПК и другими ПК
хранимая процедура уже установлена с другой БД ПК
Richard Deeming
Что не работать значит? Вы получаете сообщение об ошибке?
mohammed mqi
у меня нет сообщения об ошибке, но эта функция SelectedProcced не будет применяться к sql
Richard Deeming
Это, вероятно, потому, что у вас есть пустой catch
блок, который глотает исключение.
Измените это, чтобы поймать исключение и отобразить или зарегистрировать ошибку.
mohammed mqi
проблема в том что он прекрасно работает со мной но мой друг ПК не применяет хранимую процедуру даже не дает мне никаких ошибок я также ввожу те же данные
ZurdoDev
Вы просто повторяетесь. Ричард говорил, что код, вероятно, генерирует ошибку на другом компьютере, но поскольку у вас есть пустой блок catch, вы никогда не узнаете об этом.
Сначала исправь это.
mohammed mqi
хорошо я получил это сообщение об ошибке
Объект не может быть приведен из DBNull в другие типы
Система.Значение dbnull.Система.В разделе iconvertible.ToBoolean(поставщик IFormatProvider)
Richard Deeming
Заменять:
if (check.Value != null)
с:
if (check.Value != null && !Convert.IsDBNull(check.Value))
mohammed mqi
все в порядке спасибо большое мистер Ричард