[ASP.NET] SqlParameterCollection

Pagina: 1
Acties:

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
De volgende code:

code:
1
2
3
4
5
Dim parameterUsername As New SqlParameter("@sUserName", username)
Dim parameterPasswordHash As New SqlParameter("@sPassWordHash", password)
Dim ParameterCollection As SqlParameterCollection
ParameterCollection.Add(parameterUsername)
ParameterCollection.Add(parameterPasswordHash)


Geeft de foutmelding:

code:
1
2
Exception Details: System.NullReferenceException:
Object reference not set to an instance of an object.


Op de 4e regel, terwijl ik toch echt een gevulde sqlparameter probeer toe te voegen .. :?

[ Voor 3% gewijzigd door UniCache2 op 07-10-2003 15:22 . Reden: layout ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Je ParameterCollection is null.

https://fgheysels.github.io/


  • Riegstar
  • Registratie: Februari 2003
  • Niet online

Riegstar

Wadapatja!

Dit ben je vergeten:
code:
1
Dim ParameterCollection As SqlParameterCollection

Moet wezen:
code:
1
Dim ParameterCollection As new SqlParameterCollection()

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Riegstar schreef op 07 October 2003 @ 15:28:
Dit ben je vergeten:
code:
1
Dim ParameterCollection As SqlParameterCollection

Moet wezen:
code:
1
Dim ParameterCollection As new SqlParameterCollection()
Dan krijg ik de foutmelding:

System.Data.SQLClient.SQLParametercollection.Private Overloads Sub New(parent as system.data.sqlclient.SQLCommand) is not accessible in this context because it is private ..

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Tja, de error interpreteren is ook een vak.
Je kunt dus niet zelf (rechtstreeks) een instance maken van die ParameterCollection class.

Waarom doe je het trouwens niet zo:
code:
1
MySQLCommand.Parameters.Add (myParameter);

Waar MySQLCommand een SqlCommand object is.

https://fgheysels.github.io/


  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
whoami schreef op 07 October 2003 @ 15:46:
Tja, de error interpreteren is ook een vak.
Je kunt dus niet zelf (rechtstreeks) een instance maken van die ParameterCollection class.

Waarom doe je het trouwens niet zo:
code:
1
MySQLCommand.Parameters.Add (myParameter);

Waar MySQLCommand een SqlCommand object is.
Omdat ik gebruik maak van de sqlhelper.ExecuteReader (Microsoft Application Block)

Met 1 parameter krijg ik het wel aan de praat:

code:
1
2
3
4
Dim reader As SqlDataReader = _
  SqlHelper.ExecuteReader(ConfigurationSettings.AppSettings("sConnectionString"), _
  CommandType.StoredProcedure, "sp_GetRolesForUser", _
  New SqlParameter("@iUserId", User.Identity.Name))


Maar wat als ik nu 2 parameters wil toevoegen? Ik dacht dus een parameter collection op de plaats van die new sql parameter in de bovenstaande code te plaatsen, maar ik krijg die collection niet gevuld..

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Ik ken die SqlHelper application block niet zo, maar kan je dan geen array van SqlParameters meegeven?

https://fgheysels.github.io/


  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Inderdaad, een array meegeven kon ook, stom.

Zo dus:
code:
1
2
3
Dim arrParameters As ArrayList = New ArrayList()
  arrParameters.Add(parameterUsername)
  arrParameters.Add(parameterPasswordHash)


Meer informatie over de Microsoft Data Access Application blocks vindt je hier:

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