将变量传递给连接字符串VB.NET [英] Pass variable to connectivity string VB.NET

查看:198
本文介绍了将变量传递给连接字符串VB.NET的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨大家好,

我试图在ODBC连接字符串中传递变量以连接到多个SYBASE数据库。如果我在连接字符串中手动定义服务器详细信息,此代码可以正常工作。

i我不知道我在这里做了什么语法错误。

请帮助识别此错误代码。

需要你的提示帮助。

谢谢

Mayur



代码:



SRVR =SERVERNAME

PRT = 0000

fasdb =dbname



 Dim myConn As Odbc.OdbcConnection = New Odbc.OdbcConnection(  Driver = Adaptive Server Enterprise; uid = prv5210787; server =& SRVR& port =& PRT& ;; database =& fasdb& pwd = XXX
尝试
myConn.Open()

Dim spwho As Odbc.OdbcCommand = New Odbc.OdbcCommand( {CALL search_n_reset(?)(?)},myConn)
spwho.CommandType = CommandType.StoredProcedur e

Dim myParm As Odbc.OdbcParameter = spwho.Parameters.Add( '@ loginid ',Odbc.OdbcType.VarChar)
Dim myParm1 As Odbc.OdbcParameter = spwho.Parameters.Add( '@ passwd',Odbc.OdbcType.VarChar)
myParm.Value = XXX
myParm1.Value = XXX
Dim myInt As UInteger = spwho.ExecuteNonQuery()
lblMessage.Text = 密码已重置成功。
' Console.WriteLine(执行存储过程)
'
MessageBox.Show( 已执行st ored proc 信息
Catch ex As Exception
lblMessage.Text = 指定的用户无效,密码保持不变。
' MessageBox.Show(指定的用户无效,密码保持不变。,错误)
抛出
结束尝试
myConn.Close()





我尝试了什么:



使用数据库服务器信息手动更新代码工作正常。

需要帮助查看语法错误代码

解决方案

你错过了一些引号。你有...

Driver = Adaptive Server Enterprise; uid = prv5210787; server =&SRVR&; port =&PRT&; database =&fasdb&; pwd = XXX



尝试..



Driver = Adaptive Server Enterprise; uid = prv5210787; server =&SRVR&; port =&PRT&; database =&fasdb; pwd =&XXX



或者看看String.Format它可以让事情变得更多可读,你不会遇到这么多问题。



Template =Driver = Adaptive Server Enterprise; uid = prv5210787; server = {0}; port = { 1}; database = {2}; pwd = {3}



ConnectionString = String.Format(模板,SRVR,PRT,FASDB,PWD)

感谢您帮助烟花!

解决方案#1完美无缺:)


Hi Guys,
I am trying to pass variables in the ODBC connection string for connecting to multiple SYBASE databases. this code works fine if I manually define the server details in the connectivity string.
i am not sure what syntax error i am making here.
Please help identify the error in this code.
Your prompt assistance is needed.
Thanks
Mayur

Code:

SRVR = "SERVERNAME"
PRT = 0000
fasdb = "dbname"

Dim myConn As Odbc.OdbcConnection = New Odbc.OdbcConnection("Driver=Adaptive Server Enterprise;uid=prv5210787;server=& SRVR &port= & PRT & ;database= & fasdb &pwd=XXX")
       Try
           myConn.Open()

           Dim spwho As Odbc.OdbcCommand = New Odbc.OdbcCommand("{ CALL search_n_reset (?) (?) }", myConn)
           spwho.CommandType = CommandType.StoredProcedure

           Dim myParm As Odbc.OdbcParameter = spwho.Parameters.Add("'@loginid'", Odbc.OdbcType.VarChar)
           Dim myParm1 As Odbc.OdbcParameter = spwho.Parameters.Add("'@passwd'", Odbc.OdbcType.VarChar)
           myParm.Value = "XXX"
           myParm1.Value = "XXX"
           Dim myInt As UInteger = spwho.ExecuteNonQuery()
           lblMessage.Text = "Password has been reset successfully."
           ' Console.WriteLine("Executed stored proc")
           ' MessageBox.Show("Executed stored proc", "Information")
       Catch ex As Exception
           lblMessage.Text = "Invalid user specified, password left unchanged."
           'MessageBox.Show("Invalid user specified, password left unchanged.", "Error")
           Throw ex
       End Try
       myConn.Close()



What I have tried:

Manually updating the code with DB server information works fine.
Need help to review the code for syntax error

解决方案

You're missing some quotation marks. You have...
"Driver=Adaptive Server Enterprise;uid=prv5210787;server=& SRVR &;port= & PRT & ;database= & fasdb &;pwd=XXX"

Try..

"Driver=Adaptive Server Enterprise;uid=prv5210787;server=" & SRVR &" ;port=" & PRT & ";database=" & fasdb ";pwd=" & XXX

Alternatively have a look at String.Format it can make things much more readable and you don't get half so many problems.

Template = "Driver=Adaptive Server Enterprise;uid=prv5210787;server={0} ;port={1} ;database= {2};pwd={3}"

ConnectionString = String.Format(Template, SRVR, PRT, FASDB, PWD)


Thanks for the help "cigwork"!
solution #1 works perfectly fine :)


这篇关于将变量传递给连接字符串VB.NET的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆