Witam,
Problem jest następujący:
Przy kliknięciu "Dodaj" wyrzuca mi błąd throw:
System.Data.SqlClient.SqlException: „Column name or number of supplied values does not match table definition.”
Co chce zrobić?
- wrzucić Nazwę użytkownika, do tabeli. Wyświetlić ją za pomocą: displayNazwaUzytkownika w "Przez"
- Wyświetlić aktualną datę (to akurat wiem jak zrobić - za pomocą trigera)
- Wyświetlić datę edycji
- Jaki dać typ danych przy dacie?
Jak rozwiązać powyższy problem?
Formularz
public Formularz(string NazwaUzytkownika)
{
InitializeComponent();
displayNazwaUzytkownika.Text = NazwaUzytkownika;
}
private void btnDodaj_Click(object sender, EventArgs e)
{
{
kNazwa k = new kNazwa();
k.OsobaId = 0;
k.Imie = Imie.Text;
k.Nazwisko = Nazwisko.Text;
Service1Client service = new Service1Client();
if (service.Dodaj(k) == 1)
{
MessageBox.Show("Pomyślnie dodano osobę.");
}
}
...
}
Service1
public int Dodaj(kNazwa k)
{
try
{
comm.CommandText = "INSERT INTO tbl_NazwaTabeli VALUES(@Imie, @Nazwisko)";
comm.Parameters.AddWithValue("Imie", k.Imie);
comm.Parameters.AddWithValue("Nazwisko", k.Nazwisko);
comm.Parameters.AddWithValue("DataUtworzenia", k.DataUtworzenia);
comm.Parameters.AddWithValue("DataModyfikacji", k.DataModyfikacji);
comm.Parameters.AddWithValue("Przez", k.Przez);
comm.CommandType = CommandType.Text;
conn.Open();
return comm.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
if (conn != null)
{
conn.Close();
}
}
}
|Service1
[DataContract]
public class kNazwa
{
[DataMember]
public int OsobaId { get; set; }
[DataMember]
public string Imie { get; set; }
[DataMember]
public string Nazwisko { get; set; }
[DataMember]
public string DataUtworzenia { get; set; }
[DataMember]
public string DataModyfikacji { get; set; }
[DataMember]
public string Przez { get; set; }
}
tbl_Nazwa - T-SQL
CREATE TABLE [dbo].[tbl_Nazwa] (
[OsobaId] INT IDENTITY (1, 1) NOT NULL,
[Imie] VARCHAR (50) NULL,
[Nazwisko] VARCHAR (50) NULL,
[DataUtworzenia] DATETIME NULL,
[DataModyfikacji] DATETIME NULL,
[Przez] VARCHAR(50) NULL,
CONSTRAINT [PK_tbl_Nazwa] PRIMARY KEY CLUSTERED ([OsobaId] ASC)
);