我目前正在学习使用数据库和SQL。我收到的错误似乎无法解决。我得到的错误在标题中说明。
这是我的表定义:
CREATE TABLE [dbo].[Filmstbl]
(
[Id] INT NOT NULL IDENTITY,
[FilmTitel] NVARCHAR (50) NULL,
[Duratie] NVARCHAR (50) NULL,
[Genre] NVARCHAR (50) NULL,
[Director] NVARCHAR (50) NULL,
[Acteur] NVARCHAR (50) NULL,
[JaarVanUitgave] NVARCHAR (50) NULL,
[Omschrijving] NVARCHAR (MAX) NULL,
[GastID] INT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
使用的查询如下所示:
public void AddFilms(string titel, string lengte, string genre, string director, string acteur, string jaaruitgave, string omschrijving, int PersoonID)
{
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
connection.Open();
string query = "INSERT INTO Filmstbl Values (@FilmTitel, @Duratie, @Genre, @Director, @Acteur, @JaarVanUitgave, @Omschrijving, @GastID)";
using (SqlCommand addfilms = new SqlCommand(query, connection))
{
addfilms.Parameters.AddWithValue("@FilmTitel", titel);
addfilms.Parameters.AddWithValue("@Duratie", lengte);
addfilms.Parameters.AddWithValue("@Genre", genre);
addfilms.Parameters.AddWithValue("@Director", director);
addfilms.Parameters.AddWithValue("@Acteur", acteur);
addfilms.Parameters.AddWithValue("@JaarVanUitgave", jaaruitgave);
addfilms.Parameters.AddWithValue("@Omschrijving", omschrijving);
addfilms.Parameters.AddWithValue("@GastID", PersoonID);
addfilms.ExecuteNonQuery();
}
}
}
数据类型几乎总是一个随机字符串,除了最后一个随机int参数。
private void FilmToevoegenBtn_Click(object sender, EventArgs e)
{
sql.AddFilms(FilmTitelTBox.Text, FilmLengteTBox.Text, FilmGenreTBox.Text, FilmDirectorTBox.Text, FilmActeurTBox.Text, FilmJaarUitgaveTBox.Text, FilmOmschrijvingTBox.Text, gebruiker.GebruikerID);
UpdateListBoxes();
}
我正在以相同的方式将数据添加到另一个表而没有问题,所以我想知道为什么它不适用于这个。我希望有人知道答案。谢谢。
答案 0 :(得分:1)
请重新检查表ID字段。它应自动增加1.例如:
[Id] [int] IDENTITY(1,1)