Click to See Complete Forum and Search --> : VB Project adivce
Avatarp
Jan 13th, 2010, 01:21 AM
Hello,
I want to build an application in VB. I will be building a GUI interface that allows the User to manipulate data in a Database that I have to connect with Online. So a locally installed Application with an online Database (MSSQL)
I do not have the .Net training and I don't have the .php or .asp background to use those technologies. Any suggestions and advice will be welcomed.
Thanks guys!
RhinoBull
Jan 13th, 2010, 09:12 AM
But what is your background? If you never prgrammed in the past then you will have to spend some time learnig at least one programming language (these nwadays knwing one language is not enough).
abhijit
Jan 13th, 2010, 10:36 AM
My suggestion would be to read a book, before you embark on this journey. The book will teach you the basics and you can go from there.
If you hit any snags, members on this website should be able to help you iron out those.
Avatarp
Jan 14th, 2010, 01:37 AM
I have been a VB programmer for about 8 years and always used local databases. I was asking if there are limitations with having a locally install application with a MSSQL Database on the Internet.
gep13
Jan 14th, 2010, 03:33 AM
Hey,
I would say that your best bet would be right here :) There are lots of experienced developers on this forum who can help you if you have a specific question, and I am sure they will have an answer for you.
Is there something in particular that you are struggling with? The fact that you are connecting to a remote database shouldn't be that much different to what you have done previously. I would question whether you should be interacting with the Database directly, you should perhaps do this via a Web Service, but that really comes down to your design.
I think we are going to need more information from you before being able to help.
Gary
Avatarp
Jan 14th, 2010, 01:55 PM
Great Thanks gep13!
I am building a program for an industry. Essential all my clients will have their inventory hosted in my MSSQL Database on my Server. My initial release will be a locally installed .exe file for the GUI interface so the user can manipulate the details of their inventory and then save their work back to my server hosted MSSQL database. I would like to have the web programming skills to make this a completely online application however I don't have the time to enhance my PHP skills in the time I need to complete this project. I plan on releasing the web-based version once I have upgraded my PHP skills.
Any advice would be appreciated :)
gep13
Jan 14th, 2010, 02:04 PM
Hey,
If you are happy coding in VB.Net, have you considered creating a VB.Net ASP.Net Web Application? A lot of the skills that you already know will be directly transferable to a ASP.Net Web Application. There will be some new concepts that you will need to learn, but you should be able to hit the ground running.
Or, when you say VB, are you referring to classic VB rather than VB.Net?
Just want to clear up a few things before going too much further.
Gary
Hack
Jan 14th, 2010, 02:43 PM
when you say VB, are you referring to classic VB rather than VB.Net?This is not only for the OP of this thread, but for all new members. This is an extremely important point and distinction.
There are separate forum sections for each because the language (Classic VB which is defined as VB6 and earlier and VB.NET) syntax is so vastly different.
Simply saying VB is no longer specific enough to determine what version you are referring to.
gep13
Jan 14th, 2010, 02:47 PM
This is not only for the OP of this thread, but for all new members. This is an extremely important point and distinction.
There are separate forum sections for each because the language (Classic VB which is defined as VB6 and earlier and VB.NET) syntax is so vastly different.
Simply saying VB is no longer specific enough to determine what version you are referring to.
Good point well made.
Avatarp
Jan 15th, 2010, 01:39 AM
Yes sorry I meant VB6. I have very little .Net exposure and will be looking to do a night course at a college here on .Net
gep13
Jan 15th, 2010, 02:37 AM
Hey,
That is where I have to bow out then, I have very little VB6 exposure.
You might want to think about posting specific questions in the VB6 Forum's as I am sure there will be people over there who will be able to help.
Gary
NeedSomeAnswers
Jan 18th, 2010, 10:14 AM
I would suggest that you should start reading up on something like SOAP and Web services if you intend on hosting your database on your own remote server.
Alternatively you could learn a web language and just host your own Web application.
One other thing, Classic VB is old technology if i was writing a new system now i would most certainly be looking at writing it in .Net. The Jump between VB & VB.Net is not massive if you have been writing VB for that long you should be able to pick it up, and it would be worth you switching.
dilettante
Jan 18th, 2010, 11:07 AM
It usually isn't a good idea to try to build a two tiered application that must operate over the Internet. The main reasons are:
You must expose the database server directly to the Internet, which puts it squarely on the front lines for any known or future vulernabilities.
Performance can be a problem, since many times you'll find yourself needing to ship massive rowsets over the (slow) wire.
Using SQL Server, etc. can help a little with the second point if you can use stored procedures to keep as much work on the server as possible. This is a "thin middle tier" approach.
Usually though you'll find you want a smarter/thicker middle tier. This can not only try to keep as much database I/O local to the server as possible, it allows you to use an over-the-wire protocol and interaction scenario that is more versatile than a SQL Server connection.
Today you'll see SOAP, REST, and other Web Service protocols layered on top of HTTP for this. These are not always the best options, but they are commonly used. One big potential headache is that like HTTP itself they are request/response protocols - making it impossible for the middle tier to raise events back to clients or perform any sort of asynchronous operations.
There are hacks and kludges for this, but you're almost better off looking at the use of message queueing middleware unless your applications are pretty simple (like a dumb Web application). The downside of MQM is you may need more infrastructure work (client machine configuration, firewall rules, etc.) so there are some Web Services hacks to try to simulate simple MQM.
The point is that this can become a complex topic very quickly. You can avoid some of this if your applications are kept simple enough, a little more by using stored procedures tactically. The next increment of complexity involves communication between the client and a custom middle tier.
The "obvious" way to do this in VB6 would be to use Remote Data Service (http://msdn.microsoft.com/en-us/library/ms676188(VS.85).aspx), but for WAN connections RDS uses an early form of Web Service under the hood anyway. To use simple Web Services directly you might look at SOAP Toolkit 3.0 (http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=en) instead. But these are both deprecated technologies (even though still viable) just like VB6 itself.
.Net changes none of this besides the tools involved. A Web application is an alternative but you lose rich interaction and the ability to keep local data local to the client.
The latter is a good point. For complex applications it can be useful to keep some client-specific data in a local database even if it must occasionally be updated in bulk or in part from the central server. This is useful for lookup tables like those used to change codes to plain text, dropdown lists, etc. The pattern is somewhat like the old MS Access "front-end/back-end database" concept.
Avatarp
Jan 19th, 2010, 02:08 AM
Thanks for all the great advice. I have been out of the programming World for about a year now and I realize I must learn new technologies. I will be very quickly enhancing my .Net skills as well as my Web Development skills. Perhaps look at a night class.
I have a time constraint that doesn't allow me to get those skills first. So I am plodding ahead with my old VB6 skills. This isn't a large project. Actually it is a very small project. I have a database ready to go on netfirms.com.
I'm finding the Web interface to MSSQL restricting. Should I use Microsoft SQL Server Management Studio Express to connect to my online MSSQL database? If so how do I connect to the Server?
Below is my Connection information from "myLittleAdmin for SQL Server 2005"
Connection string: Data Source=mssqlhost\SQLEXPRESS;Network Library=dbmssocn;Connection Timeout=150;Packet Size=4096;Integrated Security=no;User ID=u99999999;Encrypt=no;Initial Catalog=d77777777;
Connection timeout: 150
Database: d77777777
Datasource: mssqlhost\SQLEXPRESS
Network packet size: 4096
Server version: 09.00.2047
Work station id: ASP2
gep13
Jan 19th, 2010, 03:24 AM
Hey,
Your ISP may or may not allow direct access to the database that they are hosting for you, you will have to check.
What exactly is wrong with the interface that you are provided with?
Gary
Avatarp
Jan 19th, 2010, 03:36 AM
It will allow me to enter data into a table but when I click "Create" button at the bottom of the page it simply go to the table view and shows 0 of 0 pages.
Check out the attachments
gep13
Jan 19th, 2010, 03:47 AM
Hey,
It is going to be difficult to give you specific help on this, as I have never used them, but are there no support documents that you can read, tutorials etc, on the netfirms website?
Gary
Avatarp
Jan 19th, 2010, 04:24 AM
Looks like I will have to find another solution. I can connect remotely with PERL/ASP.
I need to find a DB hosting site that supports the old VB6...
NeedSomeAnswers
Jan 20th, 2010, 06:52 AM
Do You ?
If you create a Web Service on your remote server you could access that via SOAP in VB6.
Although read carefully dilettante post, he made some very good points the only thing i slightly disagree with him on is this -
A Web application is an alternative but you lose rich interaction and the ability to keep local data local to the client.
Some of the newer web languages are much more feature rich and allow you to have much richer interaction than previously and behave much more like a desktop system, and also allow you to store data locally.
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.