473,322 Members | 1,347 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

ODBC Prompt

Hi I was wondering how can I program a button to make the ODBC dialog
box appear or prompt the user. And once the user has selected his/her
choice the connection string will be saved at a variable.

Thanks so much,
Henry :)
Nov 21 '05 #1
4 3719
Henry C. Wu wrote:
Hi I was wondering how can I program a button to make the ODBC dialog
box appear or prompt the user. And once the user has selected his/her
choice the connection string will be saved at a variable.

Thanks so much,
Henry :)


Find the name of the .cpl or .dll file that controls it and use shell
perhaps?

The ODBC settings are stored in the registry (IIRC) so you could just read
the properties from there.

--

I'll have a B please Bob.
Nov 21 '05 #2
If you want merely the user to select an existing ODBC data source, you can
build your own dialog showing a list using the SQLDataSources ODBC API
function:

http://msdn.microsoft.com/library/de...atasources.asp

--

Carlos J. Quintero

MZ-Tools 4.0: Productivity add-ins for Visual Studio .NET
You can code, design and document much faster.
http://www.mztools.com
"Henry C. Wu" <he***********@gmail.com> escribió en el mensaje
news:44**************************@posting.google.c om...
Hi I was wondering how can I program a button to make the ODBC dialog
box appear or prompt the user. And once the user has selected his/her
choice the connection string will be saved at a variable.

Thanks so much,
Henry :)

Nov 21 '05 #3
Hi Carlos,
It'll be great if I can prompt the DSN or ODBC dialog box in where
the user can just click the DSN and return the value. I've already done
the other method,... it loops through all dsn & stores them at a
combobox,..but still Im curious on how can I prompt the dialog box. Any
clues?

Here's what I got so far,..but with errors :(
----------------
Public Declare Function SQLDriverConnect Lib "ODBC32.DLL" (ByVal hDBC
As Integer, ByVal hWnd As Short, ByVal constr As String, ByVal
constrlen As Short, ByVal buf As String, ByVal buflen As Short, ByRef
outlen As Short, ByVal prompt As Short) As Short
Dim Retcode As Short

Const SQL_NTS = -3 'Null-terminated string
Const SQL_NOSCAN = 2
Const SQL_NOSCAN_ON = 1
Const SQL_NULL_HENV = 0
Const SQL_NULL_HDBC = 0
Const SQL_NULL_HSTMT = 0
Const SQL_SUCCESS = 0
Const SQL_DROP = 1
Const MAXBUFLEN = 255

Const SQL_DRIVER_PROMPT = 2

Dim Buf As New System.Text.StringBuilder

Retcode = SQLDriverConnect(SQL_NULL_HDBC, _
Me.Handle.ToInt32, _
"", _
SQL_NTS, _
Buf(255), _
MAXBUFLEN, _
1024, _
SQL_DRIVER_PROMPT)
Debug.WriteLine(Buf)
-----------------------------

Thanks so much,
Henry :)
Carlos J. Quintero [.NET MVP] wrote:
If you want merely the user to select an existing ODBC data source, you can build your own dialog showing a list using the SQLDataSources ODBC API function:

http://msdn.microsoft.com/library/de...atasources.asp
--

Carlos J. Quintero

MZ-Tools 4.0: Productivity add-ins for Visual Studio .NET
You can code, design and document much faster.
http://www.mztools.com
"Henry C. Wu" <he***********@gmail.com> escribió en el mensaje
news:44**************************@posting.google.c om...
Hi I was wondering how can I program a button to make the ODBC dialog box appear or prompt the user. And once the user has selected his/her choice the connection string will be saved at a variable.

Thanks so much,
Henry :)


Nov 21 '05 #4
Hi Henry, there were several bugs in your code. This works for me:

Public Declare Function SQLAllocEnv Lib "odbc32.dll" (ByRef env As Integer)
As Short
Public Declare Function SQLAllocConnect Lib "odbc32.dll" (ByVal env As
Integer, ByRef lHdbc As Integer) As Short
Public Declare Function SQLDriverConnect Lib "ODBC32.DLL" (ByVal hDBC As
Integer, ByVal hWnd As Integer, ByVal constr As String, ByVal constrlen As
Short, ByVal buf As String, ByVal buflen As Short, ByRef outlen As Short,
ByVal prompt As Short) As Short
Public Declare Function SQLFreeConnect Lib "odbc32.dll" (ByVal lHdbc As
Integer) As Short
Public Declare Function SQLFreeEnv Lib "odbc32.dll" (ByVal env As Integer)
As Short
Public Declare Function SQLDisconnect Lib "odbc32.dll" (ByVal lHdbc As
Integer) As Short

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button.Click

Const SQL_NTS = -3 'Null-terminated string
Const SQL_NOSCAN = 2
Const SQL_NOSCAN_ON = 1
Const SQL_NULL_HENV = 0
Const SQL_NULL_HDBC = 0
Const SQL_NULL_HSTMT = 0
Const SQL_SUCCESS = 0
Const SQL_DROP = 1
Const MAXBUFLEN = 255

Const SQL_DRIVER_PROMPT = 2

Dim Buf As String = New String(" "c, MAXBUFLEN)
Dim constr As String = ""
Dim outlen As Short
Dim Retcode As Short
Dim hEnv As Integer
Dim hDBC As Integer

If SQLAllocEnv(hEnv) = SQL_SUCCESS Then
If SQLAllocConnect(hEnv, hDBC) = SQL_SUCCESS Then

If SQLDriverConnect(hDBC, Me.Handle.ToInt32, constr, Len(constr), _
Buf, MAXBUFLEN, outlen, SQL_DRIVER_PROMPT) = SQL_SUCCESS Then

MsgBox(Buf)
Retcode = SQLDisconnect(hDBC)

End If

Retcode = SQLFreeConnect(hDBC)

End If

Retcode = SQLFreeEnv(hEnv)

End If

End Sub

--

Carlos J. Quintero

MZ-Tools 4.0: Productivity add-ins for Visual Studio .NET
You can code, design and document much faster.
http://www.mztools.com

Nov 21 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Chetan | last post by:
I have setup an ODBC driver for my MySQL database and use a 3rd party program to connect to it. Everytime the software connects, the ODBC driver setup screen pops up. I have to click OK on it to...
2
by: Abram | last post by:
I have an ODBC 3.0 Application on Windows NT Server maintaining a connection to a SQL Server 2000 database on the same machine. When an error occurs, I'd like to be able to determine whether the...
0
by: Me | last post by:
Hi all, Each new login to the PC, all the ODBC links to the SQL Server tables fail with the error "Connection failed" SQL Server Error 10061 Connection Open (connect()) Connection failed:
0
by: Henry C. Wu | last post by:
I tried the link: http://support.microsoft.com/?id=193128 to prompt the ODBC Data Source dialog box, but the syntax ".Properties("Prompt") = adPromptAlways" rendered an error stating that it is...
2
by: SKB | last post by:
Hi, I am absolutely new to this area. I am getting the following difficulty : Access denied for user 'ODBC'@'localhost' (using password: NO) when I try the mysql command from within the...
2
by: 111mike | last post by:
Hello, Here's my problem. I cannot connect to mysql database using odbc string connections or dns. I keep getting a "cannot connect to mysql server localhost." I'm running windows XP Pro and...
3
by: enjoylife27 | last post by:
Hi there, I am using Perl 5.8 with Apache 2.2 on Win XP SP2, all configured and working fine. I am able to run perl programs from command prompt. I am also able to call CGI scripts from HTML pages...
2
by: pg36476 | last post by:
Has anybody managed to get the OS authentication to work with Microsoft ODBC driver for Oracle? I have link tables in MS Access database that are linked to an Oracle database. ODBC connection has...
9
by: Bob Sanderson | last post by:
I'm trying to export a table to an ODBC database using a VBA subroutine. I have tested the ODBC setup manually and it works fine but when I try to do it with VBA, I get a "connection failed" error....
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.