過去数日間、このバグを見つけようとしていますが、成功していません。
データベースに新しい行を 1 つ挿入しようとしています。エラーは発生せず、プログラムはクラッシュしません。
私の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)
);
何が問題なのかわかりません。誰でも助けることができますか?