Witam, w jaki sposób powinna wyglądać instrukcja INSERT w OLEDB aby za jej pomocą można było wpisać każdą wartość zarówno liczbę całkowitą jak i łańcuch. np ujęte w klamerki ' ' jest to łańcuch a bez to na przykład liczba całkowita, szukam uniwersalnego sposobu. Mam bazę excela w której w jednej i tej samej kolumnie może być wpisane zarówno 120 jak i łancuch.
Wpisuj zawsze jako łańcuch.
Tak jak kolega wyżej, albo użyj CAST()
Ja mam jakoś tak
cmd.CommandText = "Insert INTO [Tabela$] values (' ','wartosc1','wartosc2')";
Błąd wyświetla mi się taki. "Nieodpowiedni typ danych w wyrażeniu kryterium"
string sql = "INSERT INTO nazwaTabeli ([Nazwa kolumny1], [Nazwa kolumny 2] VALUES (@NazwaKolumny1, @NazwaKolumny2)";
connection.OpenConnection(); //otwierasz połączenie np. z utworzonej klasy
OleDbCommand oleDbCommand = new OleDbCommand(sql, sciezka do bazy danych);
oleDbCommand.Parameters.Add(new OleDbParameter("@NazwaKolumny1", np. TextBox.Text);
oleDbCommand.Parameters.Add(new OleDbParameter("@NazwaKolumny2", np. TextBox2.Text);
oleDbCommand.ExecuteNonQuery();
connection.CloseConnection();
.
OT. Przepraszam z góry. Nie mogę się powstrzymać.
Co, w 2021 roku, skłania ludzi do korzystania z Excella jak bazy danych i obsługi arkuszy za pomocą sqla?
Gdzie jest w tym jakaś logika? Folderów z plikami TXT też można chyba z ADO używać no ale... sens jakiś gdzie?
Nie działa mi to, po wpisaniu tych parametrów @parametr1 parametr się nie uzupełnia, sprawdzałem bo wyświetliłem później textCommand.
@usm_auriga: Wklej tutaj całą metodę INSERTU. Trudno wywnioskować, dlaczego nie działa.
To jest coś takiego, chciałbym żeby przyjmowało mi wszystkie możliwe wartości,
Insert INTO [Zlecenia$] (IDZlecenia,TypZamowienia,RokZamowienia,NrZamowienia,KodZlecenia,NrZlecenia,Nazwa_Nt_Czesci,CechaNt_NrInw,NrEgzempl,IloscSzt,NrPPRS,WykonanoDo,Dotyczy,DataZamowienia,ZakladWydzial,Numer_MPK,Zamawiajacy,ZamawiajacyTxt,PropTermReal,DataPrzyjZam,Przyjmujacy,Planista,PlanistaTxt,UstTermWyk,Wykonujacy,WykonujacyTxt,DataWykonania,PotwWyk,TypAwarii,IDRozdzUst,ObTechn,UrzadzNiezdef,Warsztat,Status,WymaganiaJak,Uwagi,Przyjm,Temp1,Komputer,Uzytkownik,Priorytet,Tekst1,Tekst2,Tekst3,Tekst4,Tekst5) VALUES (0,1,2,3,4,5,'FORMA WTRYSKOWA','243-1-014',0,1,10,11,12,'10.05.2021 11:32:39','550-02','DR','4112',17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45);
Liczbowe wartości które wstawiłem, czyli po prostu numer 1,2,3,4 wpisuje do kolumn, problem pojawia się gdy chcę wpisać cokolwiek.
@usm_auriga: Ale to już CI działa? W sensie wpisuje jakieś wartości do kolumn?
Jeżeli nie to zacznij od małych wpisów i dodawaj sukcesywnie, wtedy zobaczysz, gdzie masz błąd z przyjmowaniem wartości, np.:
INSERT INTO Zlecenia$ (DZlecenia, TypZamowienia) VALUES (IDZlecenia, TypZamowienia)";
Jak dodaje to '550-02' , jest to 15 wartość po VALUE licząc 0 jako pierwszą to mi wykrzacza i wywala błąd, bez tego jak tam wpiszę jakąś liczbę całkowitą to działa, nie wiem co z tym zrobić.