如何将 sql 连接字符串值传递给 C# 程序
本文关键字:程序 值传 字符串 sql 连接 | 更新日期: 2023-09-27 18:34:27
我对编程世界很陌生(对不起,如果这个问题已经回答了很多次,至少我没有从互联网上搜索得到任何线索),我最近正在尝试构建一个 C sharp 应用程序。此 exe 将在另一个程序中调用,调用时,该程序将传递 sql 连接字符串值 c sharp exe 应用程序。我的问题是如何使应用程序接收值。
连接字符串应如下所示
“Provider=SQLOLEDB.1;Password=xxxxxxxx;Persist Security Info=True;User
ID=xxxxxxxx;Initial Catalog=ATTACH;Data Source=LNGSEAL136504A;
Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation
ID=LNGSEAL136504A;Use Encryption for Data=False;Tag with column collation when
possible=False”
我写了什么:这是我的代码:班级课程 { 静态空 主(字符串[] 参数) { Console.WriteLine("它正在运行!"); Console.ReadKey(); 尝试 {
int Len;
string cnn = null;
Len = args.Length;
for (int i = 0; i < args.Length; i++)
{
cnn = cnn + " " + args[i];
}
Console.WriteLine(cnn);
Console.WriteLine(Len);
Console.ReadKey();
ADODB.Connection mycnn = new ADODB.Connection();
mycnn.Open(cnn);
ADODB.Recordset rs = new ADODB.Recordset();
rs.Open("sql statements", mycnn);
mycnn.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
Console.ReadKey();
}
}
}
但它给我抛出了一个"无法投射 COM 对象错误"。知道吗?请指教。
[已解决]
我使用oledbconnection而不是adodb,它可以正常工作。感谢所有帮助过的人。
可以通过
命令行参数(使用源应用程序用于调用可执行文件的任何技术)传递连接字符串,然后可以从接收可执行文件的 Main(string[] args)
函数中的 args
数组中检索它们。
例如,在接收端:
class TestClass
{
static void Main(string[] args)
{
// avoiding empty/null checks for simplicity
string connectionString = args[n]; // where "n" is index value of your
// connection string argument
DoWork(connectionString);
}
}
考虑到这一点,可能有更好的方法来完成您的要求。如果您向我们详细描述了您的项目,我们也许可以提供替代建议。
在 C# 中很容易
在发件人应用程序中通过使用 Process.start("您希望向其发送连接字符串的 exe 路径","连接字符串");
在接收器应用程序中并在主方法中的exe中(在程序类中建立)
main(string[] args)
args[0] 将保存其他程序发送的连接字符串。
尝试。。