Insert do SQL Datebase Daty z DatePickera

0

Hej,

chcialem napisac metode insertujaca do bazy Date z DatePickera, ktora w Windows Form App wybiore, napisalem cos takiego :

string dt = DataAktywacji.Value.ToString("yyyy-MM-dd HH:mm:ss");
            try
            {

                    openCon();
                    mcd = new SqlCommand(register, con);
                    mcd.Parameters.AddWithValue("@USRTXT", SqlDbType.VarChar).Value = usertxt.Text;
                    mcd.Parameters.AddWithValue("@NAMETXT", SqlDbType.VarChar).Value = imietxt.Text;
                    mcd.Parameters.AddWithValue("@PASSTXT", SqlDbType.VarChar).Value = passtxt.Text;
                    mcd.Parameters.AddWithValue("@SURNAMEMTXT", SqlDbType.VarChar).Value = surnametxt.Text;
                    mcd.Parameters.AddWithValue("@MAILTXT", SqlDbType.VarChar).Value = mailtxt.Text;
                    mcd.Parameters.AddWithValue("@PHONETXT", SqlDbType.Int).Value = phonetxt.Text;
                    mcd.Parameters.AddWithValue("@STARTDATE", SqlDbType.DateTime).Value = dt;

i kodzik sqla :

 string inactive = "insert into dbo.OpUser (loid,login,name,password,status,startDate,surname,email,phone) values(1+(select max(loid) from dbo.OpUser),@USRTXT,@NAMETXT,@PASSTXT,@STARTDATE,'INACTIVE',@SURNAMEMTXT,@MAILTXT,@PHONETXT);";

jednak za kazdym razem mam blad : "konwersja na date / godzine z ciagu znakow nie powiodla sie"

Bardzo prosze o pomoc, przeszukalem tysiace stron i pomimo wielu prob nie moge sobie z tym poradzic :(

1

Nie mam przy sobie Visual Studio, ale błąd leży ewidentnie w złym wprowadzaniu ciągu znaków jako DateTime.

Wprowadź datę tak:

mcd.Parameters.AddWithValue("@STARTDATE", SqlDbType.DateTime).Value = DataAktywacji.Value;

zamiast:

mcd.Parameters.AddWithValue("@STARTDATE", SqlDbType.DateTime).Value = dt;

Kolejna sprawa:

1+(select max(loid) from dbo.OpUser 
  • nie lepiej użyć autoinkrementacji ?
0

Nie zalogowałem się wczesniej dlatego z goscia napisalem,

Co do :

string dt = DataAktywacji.Value.ToString("yyyy-MM-dd hh:mm:ss");

chyba niechcacy wkleiles 2x to samo :')

sprobowalem obu porad, ale niestety dalej mam ten sam blad co mnie troszke zaskoczylo,

mcd.Parameters.AddWithValue("@STARTDATE", SqlDbType.DateTime).Value = DataAktywacji.Value;

fajne rozwiazanie, tylko dalej z nim ten sam komunikat mam :(
co do autoinkrementacji to masz racje poprawie to :)

0

Wina leżała po mojej stronie, przy inserowaniu pomylilem kolejnosc dla kolumna status, startdate przez co wywalalo blad.

Dzieki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1