|
Thanks very much I will look into the articles
Jim
|
|
|
|
|
You missed the most common solution - use command parameters. You don't need stored procedures to get auto-protection from SQL Injection.
Regular expressions are just overkill for this. For normal validation they are appropriate, but not at the database level.
In terms of what you are doing, one approach is to create data type classes with built in validation. It is an "ok" solution, and works pretty well with inheritance, e.g. DBTypeUserName can inherit from DBTypeString . There are downsides to this approach, such as performance (because you are no longer using value types).
Last point on validation - like you mentioned, client-side validation is unreliable. Always validate at least once more on the server-side. That said, the validation controls are harder to circumvent than you imply. The javascript is just one layer, the actual validation can be done on the code-behind, like:
Sub MySubmit_Clicked()<br />
Page.Validate()<br />
If Page.IsValid then<br />
...<br />
end If<br />
end Sub<br />
|
|
|
|
|
Ah I didn't consider command parameters and also traditional custom validation javascript can be circumvented but as you indicated with .NET its a bit more integrated. Thanks for your help, saves me writing unnecessary code.
Jim
|
|
|
|
|
Hi,
I am using the calendar control for the users to select a date. I need to restrict the dates they can select to 1st-28th of any month. Could anyone put me on the right lines please?
Cheers, V
|
|
|
|
|
You can't tell the Calendar control to restrict that. But, you can validate the dates that are selected and put up a Dialog that warns the user of the valid range to select, then clear out the Calendar control selection and start over.
Or, you could search the web for a 3rd party calendar control that offers that functionality. I don't know of any off the top of my head, but that doesn't mean they don't exist. I've just never had the need to find one.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Cheers,
I am quite new to asp.net and have tried to validate the dates but I can't figure out how to get the day of the selected date. I have looked at the getDayOfMonth method but I don't really understand how to use it (override it??).
Do you know of an example which uses it - have googled on it but having found anything
Cheers, V
|
|
|
|
|
OOhh!!! You didn't say you were using ASP.NET. The Calendar Web Server control WILL let you specify which days the user can pick. For the complete low down on the control, look here[^].
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Cheers. I ended up using the day property of datetime.
Thanks
V
|
|
|
|
|
Hi, i found how to get my application in system tray. The problem is when i want it to go in normal state. My app only want to go in maximize state. Here's my code
Private Sub Main_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
If Me.WindowState = FormWindowState.Minimized Then
TrayIcon.Visible = True
Me.ShowInTaskbar = False
End If
End Sub
Private Sub TrayIcon_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrayIcon.Click
'Ouvre l'application main window si on click sur l'icon dans le tray
Me.ShowInTaskbar = True
Me.WindowState = FormWindowState.Normal
TrayIcon.Visible = False
Me.Show()
End Sub
Thx in advance!
|
|
|
|
|
That's ok i found the solution
When the window is minimize i don't have to put Me.ShowInTaskbar = False. The app in task bar automaticaly disapear
so here's the code
Private Sub Main_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
'Si minimize, on met l'application en Systemtray
If Me.WindowState = FormWindowState.Minimized Then
TrayIcon.Visible = True
Me.Visible = False
End If
End Sub
Private Sub TrayIcon_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrayIcon.Click
'Ouvre l'application main window si on click sur l'icon dans le tray
Me.Visible = True
Me.WindowState = FormWindowState.Normal
TrayIcon.Visible = False
End Sub
Enjoy
|
|
|
|
|
I'm trying to create a Windows Form that has a folder browser control on it, exactly like the VB.NET FolderBrowserDialog, but I also need to add some of my own custom controls onto the same form. So for this reason I can't just pop-up the FolderBrowserDialog - I need it present within my form.
But I can't find a way of adding the FolderBrowserDialog, or its individual components on to my form. Is this possible?
All I can find are controls like the DirListBox and DriveListBox, but I want to recreate the kind of browse dialog you'd see as standard in Windows, with buttons allowing the user to toggle View, Create New Folder, navigate back etc.
Thanks very much for any help,
Mark
|
|
|
|
|
Mark Phanides wrote:
But I can't find a way of adding the FolderBrowserDialog, or its individual components on to my form. Is this possible?
No, it's not. But, you could create your own version of the dialog by inheriting from CommonDialog and adding the controls you want. To find out how the FolderBrowserDialog works, you can use .NET Reflector[^] to disassemble the code in the FolderBrowserDialog class and examine how that implementation works.
Now, with the standard FolderBrowserDialog, the user just has to right-click in the folder list to get the context menu and create a New/Folder, or you could just set the NewFolderButton property to True to tell the Dialog to display one itself. Navigate back is easy enough with the folder path dropdown list at the top of the dialog.
But, I don't know what you mean by "toggle view"? What view?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi,
I had develope one project in vb 6.0 and sql server 7.0 now making the setup file through Package and Deployement wizard.
I want to add the DATABASE and the DSN into the 'setup.exe' so that when i install the package the database and the DSN will automatically stored in the system.
Is there any way to do it? if Yes?
please send me the 'logic' or 'steps'or 'code'
Thanks
|
|
|
|
|
You'll have to write your own installer or use a different package to build your installer, like Wise Installation System. The Package and Depoyment Wizard has no support for doing what you want.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
|
I sure don't want to walk him through that!
I've been through it once and didn't feel like doing it again. We had Wise for Windows Installer laying around, so I switched to that and got all the control I could ever want over the install.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
When I close my application it disappears but when I look in TaskManager it is still there and I have to kill it manually. Why would that happen?
Rugby League: The Greatest Game Of All.
|
|
|
|
|
That can happen for any number of reasons. You have to be sure that you dispose all objects that hold open unmanaged resources. Make sure that if you're using any COM automation object, like Excel or Word, that it's closed and disposed of before you quit. Make sure all your threads are disposed of if they were not tagged as background threads when you created them. Make sure that you actually closed you main form instead of just hiding it... the list goes on and on.
Without knowing anything about your application or your code, it's impossible to tell you what went wrong.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Is a OleDbConnection an unmanaged resource? Not that it matters, I get an exception if I try to close one.
Rugby League: The Greatest Game Of All.
|
|
|
|
|
Yes, the OleDB classes wrap the underlying API for OleDB. If your code doesn't release these resources, then you will most likely have problems.
I saw you post in the C# Forum. We'll have to take a look at what you doing because you shouldn't be having problems closing that connection. Are you keeping a connection to the DB for the entire life of your app? The connection could be timing out and closing for you, leaving your resource pointers hanging and pointing to now invalid handles.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have spent the last few days rewriting and rewriting parts of my code and still it happens. Is there any way to check what is causing this or it just finger in the stuff?
Rugby League: The Greatest Game Of All.
|
|
|
|
|
Without ever seeing any of your code, I can't tell you what's going on.
You might want to use a Profiler on your app for more information, like what objects are being allocated and released, or not released. Something like http://www.scitech.se/memprofiler/[^] would probably do the trick.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks, I already tried that. Of course when run under that tool there isn't a problem and the application doesn't hang around in memory, the same as if I run it from the VS.NET IDE. I have tried everything I can think of and it won't go away. It only happens when I use the Xceed chart - Xceed say it is the first time they seen the problem and they can't replicate it. I really wanted to use their chart as it looks the best and has great features but it seems the gods are against me so I will have to use a different chart product.
Rugby League: The Greatest Game Of All.
|
|
|
|
|
How to check whether the internet connection is connected or not? I want to send email from my application, but it will raise problem if it's not connected.
Learning .NET
|
|
|
|
|
Checking for the connection to the internet is difficult because there is no way to know what is on the other side of your gateway address. You could have a live connection, but it might no be the internet.
The simplest way to do it is to try and resolve the DNS name of the mail server before you try to send a message.
Imports System.Net
.
.
.
Try
' Try and resolve the address of the mail server.
Dim hostEntry As IPHostEntry = Dns.GetHostByName(myMailServer.myISP.com)
' If we get here, then the DNS Resolve worked and
'we must be connected to the 'Net.
Try
' Code to send your email message...
Catch ex As Exception
' Send message failed for some reason...
End Try
Catch ex As Exception
' DNS Resolve failed. We can't send the message...
End Try
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|