使用 Visual Studio 2008、C#
在过去的两天里,我遇到了一个问题,所以我想我会在这里问。我的数据库中有这个存储过程,称为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();
}
当我按下这个按钮时,我没有任何错误或任何东西,当我按下它两次时,它会导致关于同一个主键的错误,所以程序正在运行。
但是当我去我的数据库时,我没有看到新数据被插入。
这实际上是我的问题,我无法从我的程序中写入我的数据库。