我试图找到最近几天的这个错误,但没有任何成功。将声明插入到SQL Server数据库中
我试图在数据库中插入一个新行。一切顺利:没有错误,没有程序崩溃。
我INSERT
声明是这样的:
INSERT INTO Polozaj(Znesek, Uporabnik, Cas, Kupec, Popust, Poln_znesek)
VALUES(1,1,1,1,1,1)
该声明是确定的,因为当我在我的数据库运行查询它增加了新行。
我的C#代码如下所示:
string connection = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + Application.StartupPath + "\\Trgovina.mdf;Integrated Security=True";
SqlConnection cn = new SqlConnection(connection);
string payment = ((Button)sender).Text, maxID = string.Empty;
double discount = Convert.ToDouble(discauntText.Text), totalPrice = Convert.ToDouble(fullPriceText.Text), fullPrice = Convert.ToDouble(discountPriceText.Text);
switch (payment)
{
case "Dobavnica": discount = 10; break;
case "Kartica": discount = 0; break;
case "Gotovina": discount = 5; break;
}
cn.Open();
SqlCommand maxIdCmd = new SqlCommand("SELECT MAX(Id_racuna) FROM Racun", cn);
maxID = Convert.ToString(maxIdCmd.ExecuteScalar());
maxID = maxID != "" ? Convert.ToString(Convert.ToInt32(maxID) + 1) : "1";
string stmt = "INSERT INTO Racun(Znesek, Uporabnik, Cas, Kupec, Popust, Poln_znesek) " +
"VALUES(@Price, @User, @Time, @Customer, @Discount, @FullPrice)";
SqlCommand cmd = new SqlCommand(stmt, cn);
cmd.ExecuteNonQuery();
cn.Close();
正如我已经提到的,它看起来像程序运行此查询,一切都只是正常的,但是当我看着表Racun
,没有新的行。此外,当我尝试刷新此表数据的Visual Studio(2012)给我,看起来像一个错误:This database cannot be imported. It is either unsupported SQL Server version or an unsupported database compatibility.
而我的表Racun
创建查询看起来是这样的:
CREATE TABLE [dbo].[Racun] (
[Id_racuna] INT IDENTITY (1, 1) NOT NULL,
[Znesek] NUMERIC (10, 3) NULL,
[Uporabnik] NCHAR (20) NULL,
[Cas] NCHAR (15) NULL,
[Kupec] NCHAR (10) NULL,
[Popust] NUMERIC (10, 3) NULL,
[Poln_znesek] NUMERIC (10, 3) NULL,
PRIMARY KEY CLUSTERED ([Id_racuna] ASC)
);
我不知道出了什么问题。谁能帮忙?
你使用的是什么版本的SQL服务器? – 2013-02-14 15:11:30
@RyanGates看他的连接字符串 - MS SQL 2012(v11) – t3hn00b 2013-02-14 15:12:59
你在哪里添加参数到'INSERT'命令? 'cmd.Parameter.Add(“Price”,SqlDbType.Int).Value = 1;' – t3hn00b 2013-02-14 15:21:26