Archief - VB.NET converteren smalldatetime

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

AssassiN

Legacy Member
Ik zit op men stage met een probleem waar ik al 2 uur aan een een stuk aan het zoeken ben. Ik moet gegevens in een SQL server database kunnen zetten. In deze gegevens zitten een starttijd + een eindtijd + datum(komend van het uitlezen van een e-mail adres, agenda). Dit is mijn commandtext(query):
Code:
scmdNieuw.CommandText = "INSERT INTO Zaalreservaties(Name, Uur, Datum, Zaal) VALUES('" & strNaam(1).Trim() & "', '" & strBegintijd & "', " & strdate & ", 'Bergasol')"

Wanneer ik dit uitvoer krijg ik steeds de convertiefout naar een smalldatetime, ik heb al google afgezocht en tientallen verschillende zaken uitgeprobeerd. Maar ik blijf het fout hebben, andere errors(arithmetic overflow, syntax error, ...). Al verschillende dateformats toegepast, maar helaas. Voor de moment staat het op: dd-mm-yyyy, deze staat gedeclareerd als een string.

Thanks in advance...

Zhergan

Legacy Member
Uw insert-statement is foutief, datums moeten afhankelijk van het project/database ingevoerd worden als #2009/02/16# ofwel als '2009/02/16' en ik gebruik bewust de notatie 'yyyy/mm/dd', deze zal nooit problemen geven voor SQL-server.

AssassiN

Legacy Member
Bedankt, het werkt :). Het rare was, dit had ik ook al eens geprobeerd. Met de # lukt het niet, maar wel met de '.

Andere vraag, ik heb een starttijd en een eindtijd(voor vergaderingen), deze komen in de database per halfuur. Hoe moet ik dit doen? Ik weet dat het al werken is met een loop until start=eind. Maar hoe tel je steeds die halfuur erbij?

Duffman-

Legacy Member
hm ... zoude ni beter me parameters werken? Veiliger enzo...

AssassiN

Legacy Member
Kzou da wss kunne doen, probleem is. Ver nog nooit met parameters moetn werken, dus geen idee oe dat allemaal precies in elkaar zit.

Obliv`

Legacy Member
-MtG- zei:
Kzou da wss kunne doen, probleem is. Ver nog nooit met parameters moetn werken, dus geen idee oe dat allemaal precies in elkaar zit.

Google It. Dat zulde als programmeur nog veel moeten doen.

Tzou me ook nogal straf lijken dat je dit in je opleiding nog nooit hebt tegengekomen (in de veronderstelling dat je TI of dergelijke gedaan hebt).

Vaste notaties als 'yyyy/MM/dd' kan je best vermijden.

AssassiN

Legacy Member
Dat had ik al door vanaf ik deze opdracht heb gekregen tijdens men stage en als eindwerk. Kheb meer opgezocht dan getypt in men eindwerk...
Ik heb maar tijdens de lessen 1 keer iets van parameters gezien en ni eens uitleg gehad...

AssassiN

Legacy Member
Oke, het is gelukt voor het halfuur. Maar een ander probleem:
Er is namelijk intranet gelinkt naar deze database en heb je ene mooi schema van wanneer gebruikt wordt en door wie. Maar vanaf ik dat uitvoer en kijk op intranet op die datum, geeft hij een fout(vanaf ik het weg doe, ga het weer):

Code:
Server Error in '/intranet' Application.
--------------------------------------------------------------------------------

Index was outside the bounds of the array. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IndexOutOfRangeException: Index was outside the bounds of the array.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[IndexOutOfRangeException: Index was outside the bounds of the array.]
   Internal.ZalenMain.maaktabel(DateTime datum) in C:\dotnet\Internal\zalen\ZalenMain.aspx.vb:157
   Internal.ZalenMain.toonschema(DateTime datum) in C:\dotnet\Internal\zalen\ZalenMain.aspx.vb:79
   Internal.ZalenMain.Cal_SelectionChanged(Object sender, EventArgs e) in C:\dotnet\Internal\zalen\ZalenMain.aspx.vb:226
   System.Web.UI.WebControls.Calendar.OnSelectionChanged() +118
   System.Web.UI.WebControls.Calendar.SelectRange(DateTime dateFrom, DateTime dateTo) +246
   System.Web.UI.WebControls.Calendar.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +671
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
   System.Web.UI.Page.ProcessRequestMain() +1292

 


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2407; ASP.NET Version:1.1.4322.2407

Obliv`

Legacy Member
Les 2 voor als je developer wordt: lees de foutboodschap die je krijgt ... 'Index was outside the bounds of the array' moet je toch al wel iets zeggen he ;).

Debug uw 'maaktabel' procedure is, dan zal je vlug zien wat er fout loopt.

AssassiN

Legacy Member
Ik had gekeken, maar da had ik zo te zien gemist... Maar ondertussen al opgelost, khad een waarde die te hoog was. Toch bedankt :).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan