[ NYXY @ 13.02.2008. 20:28 ] @
Da li je moguce spojiti textbox s SQL i ADO.net bazom podtaka u C#, tako da kada korisnik upise nesto u textbox i klikne button da se ono sto je on upisao spremi u bazu i da li je moguce da textbox "procita" sadrzaj nekog stupca u bazi?

Unparjed vam hvala
[ MarkoBalkan @ 13.02.2008. 21:06 ] @
Citat:
NYXY: Da li je moguce spojiti textbox s SQL i ADO.net bazom podtaka u C#, tako da kada korisnik upise nesto u textbox i klikne button da se ono sto je on upisao spremi u bazu i da li je moguce da textbox "procita" sadrzaj nekog stupca u bazi?

Unparjed vam hvala


moguće.

ubacivanje radiš sa insert.

treba ti još command, connecton i string za izraz.
sve se može, ako se hoće.
[ NYXY @ 14.02.2008. 14:37 ] @
Molim te ako ti nije problem, mozes li mi dati link na tutorijal (ili nesto slicno)
[ MarkoBalkan @ 15.02.2008. 09:57 ] @
evo.
http://www.startvbdotnet.com/ado/sqlserver1.aspx

samo što umjesto vrijednosti ti pišeš ' " & textbox.text & " '
[ Prokleta_Nedelja @ 15.02.2008. 09:58 ] @
Ovako zapisujes u bazu

Code:

Dim veza as new SQLConnection("connectionstring")
dim Kom as new SQLCommand("",veza)
dim cit as SQLDataReader

TRy
veza.open
kom.commandtext="INSERT into mojaTabela(ime) values('"& textbox1.text &'')"
kom.executenonquery
veza.close

catch ex as SQLException
msgbox ex.message
end try


A ovako citas iz baze:
Code:

TRy
veza.open
kom.commandtext="select ime from mojaTabela where id=1"
cit=kom.executereader
cit.read
textbox1.text=cit.item("ime")
cit.close
veza.close

catch ex as SQLException
msgbox ex.message
end try
[ Shadowed @ 15.02.2008. 10:46 ] @
Ne bi bilo lose da koristi parametre. Primer kod zapisivanja (samo prepravljen taj kod koji si dao):
Code:

Dim veza as new SQLConnection("connectionstring")
dim Kom as new SQLCommand("",veza)
dim cit as SQLDataReader
Dim NameParam As New SqlParameter("@Name", Data.SqlDbType.NVarChar) 'Ili koji je vec tip u bazi

NameParam.Value = textbox1.text
kom.Parameters.add(NameParam)
TRy
veza.open
kom.commandtext="INSERT into mojaTabela(ime) values(@Name)"
kom.executenonquery
veza.close

catch ex as SQLException
msgbox ex.message
end try


Cisto za slucaj da se neko zove Marko; Drop Table Ljudi;-- :]
[ Prokleta_Nedelja @ 15.02.2008. 12:08 ] @
cisto da pitam, jel se moze Parametar zloupotrebiti za SQL Injection?
[ Shadowed @ 15.02.2008. 12:14 ] @
Parametri sluze upravo za zastitu od istih jer se interno sve to escape-uje tako da u bazu bude upisano (npr. kod upisivanja) tako kako je zadato ali se ne poremeti query. E sad, pretpostavljam da to nije 100% zastita, ali mi trenutno ne pada nista na pamet kako bi se nesto moglo uraditi.
[ Prokleta_Nedelja @ 15.02.2008. 12:49 ] @
nisam siguran ali da li MySQL podrzava parametre?
[ Shadowed @ 15.02.2008. 14:10 ] @
Ni ja, ali mislim da se do izvrsava unutar Command objekta a i nije ni receno da se radi o MySQL-u :)
[ aleksandarpopov @ 15.02.2008. 15:17 ] @
Naravno da MySql podrzava parametre. Mozes proveriti string pre dodele sql upitu da li ima neke od delete, update, alter, drop substringova da bi bio sigurniji da nece doci do sql injectiona.
[ NYXY @ 16.02.2008. 09:11 ] @
Molim vas ako netko moze onaj kod prevesti u C# (ja sam pokusao, lai nisam uspio i tezaio sam po googleu, ali nisam nista korisnog pronasao)
[ Prokleta_Nedelja @ 16.02.2008. 09:35 ] @
Code:

SQLConnection veza = new SQLConnection("connectionstring");
SQLCommand Kom = new SQLCommand("", veza);
SQLDataReader cit;
SqlParameter NameParam = new SqlParameter("@Name", Data.SqlDbType.NVarChar);
// Ili koji je vec tip u bazi
NameParam.Value = textbox1.text;
kom.Parameters.add(NameParam);
try {
    veza.open;
    kom.commandtext = "INSERT into mojaTabela(ime) values(@Name)";
    kom.executenonquery;
    veza.close;
}
catch (SQLException ex) {
    msgbox;
    ex.message;
}
[ ganjaman @ 19.02.2008. 09:46 ] @
Prosto i jednostavno

http://aspnet.4guysfromrolla.com/articles/050207-1.aspx