Использование Visual Studio 2008, С#
В течение последних 2 дней я столкнулся с проблемой, поэтому я решил спросить здесь. У меня есть эта хранимая процедура в моей базе данных под названием StoredProcedure1
:
ALTER PROCEDURE dbo.StoredProcedure1
@ID int,
@Username varchar(10),
@Pass varchar(10),
@Status varchar(10)
AS
INSERT INTO tPasswords(ID, fUsername, fPassword, fStatus)
Values (@ID, @Username, @Pass, @Status)
RETURN
Я просто добавляю строку в свою таблицу.
Когда я выполняю процедуру из проводника сервера в Visual Studio, все проходит гладко, и когда я вижу данные в своей базе данных, я вижу новую строку, которую я только что добавил.
Проблема в том, что я пытаюсь запустить процедуру внутри своей программы.
Итак, для теста внутри пустой формы я создал кнопку и:
using System.Data.Sql;
using System.Data.SqlClient;
private void button1_Click(object sender, EventArgs e)
{
string a = "Andreas";
string b = "Andreas2";
string c = "Andreas3";
int _id = 10;
SqlConnection connection = new SqlConnection(
Properties.Settings.Default.dPasswordsConnectionString);
SqlCommand cmd = new SqlCommand(
"StoredProcedure1", connection);
connection.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 600;
cmd.Parameters.Add("@ID", _id);
cmd.Parameters.Add("@Username", a);
cmd.Parameters.Add("@Pass", b);
cmd.Parameters.Add("@Status", c);
int i = cmd.ExecuteNonQuery();
connection.Close();
}
Когда я нажимаю эту кнопку, у меня нет никаких ошибок или чего-то еще, когда я нажимаю ее дважды, это вызывает ошибку об одном и том же первичном ключе, поэтому процедура работает.
Но когда я захожу в свою базу данных, я не вижу, что новые данные были вставлены.
На самом деле это моя проблема, я не могу писать в свою базу данных из своей программы.
AttachDbFilename=
материал сломан и беспорядок - не используйте его! Это просто вызывает горе (и тонны сообщений здесь, на SO.....) - person marc_s   schedule 24.02.2012