Avatar billede tomjelen Nybegynder
10. marts 2004 - 14:52 Der er 1 kommentar og
1 løsning

Stored Procedures og SQL Injections

Lige nu kører jeg mine stored procedures på denne måde, hvilket virker fint.

public string getProjectNames(int id)
{
  DataSet ds = new DataSet("Projects");
  OleDbDataAdapter da = new OleDbDataAdapter("xxx.getProjectNames "+id,conn);
  da.Fill(ds,"Project");
  return ds.GetXml();
}

Men hvis man nu forstillede sig at min metode tog en string i stedet for en integer, ville det så ikke være muligt at lave rod i min database med "SQL injections"?

Eksemplet jeg har hvor man komme ud over dette problem i en login stored procedure der gøres således:

SqlCommand oCmd = new SqlCommand("proc", oConn);
oCmd.CommandType = System.Data.CommandType.StoredProcedure;
oCmd.Parameters.Add("@UID",SqlDbType.VarChar);
oCmd.Parameters.Add("@PWD",SqlDbType.VarChar);
oCmd.Parameters["@UID"].Value=sUser;
oCmd.Parameters["@PWD"].Value=sPass;
int iCount = (int) oCmd.ExecuteScalar();

Men jeg kan ikke umidlbart finde ud af at gøre det med en OleDbDataAdapter, så jeg senere kan fylde det ind i mit dataSet, hvor jeg kan trække resultatet ud i en XML-string.
Avatar billede tomjelen Nybegynder
10. marts 2004 - 16:17 #1
fandt ud af det selv
Avatar billede nielsbrinch Nybegynder
10. marts 2004 - 20:28 #2
så fortæl løsningen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester