Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL连接字符串生成_C#_Sql - Fatal编程技术网

C# SQL连接字符串生成

C# SQL连接字符串生成,c#,sql,C#,Sql,有没有办法生成连接字符串,或者从.txt文件中读取连接字符串,我想实现的是创建一个按钮,基本上打开数据库,但是我担心连接字符串,因为我需要操作数据库上的数据,这是我一直使用的普通connectionstring字符串: string connectionString = @"Data Source=.\wintouch;Initial Catalog=bbl;User ID=sa;Password=Pa$$w0rd"; 总而言之,如何(或者可能)创建一个按钮来打开数据库并生成连接字符串?假设这

有没有办法生成连接字符串,或者从.txt文件中读取连接字符串,我想实现的是创建一个按钮,基本上打开数据库,但是我担心连接字符串,因为我需要操作数据库上的数据,这是我一直使用的普通connectionstring字符串:

string connectionString = @"Data Source=.\wintouch;Initial Catalog=bbl;User ID=sa;Password=Pa$$w0rd";

总而言之,如何(或者可能)创建一个按钮来打开数据库并生成连接字符串?假设这是一个完美的世界,我使用的所有数据库上的字段都是相等的。

我想您可以将相关字段作为参数传递(只需使用字典,其中名称是键,值是…嗯,值),按钮将调用此方法:

    public static string createConnectionString(Dictionary<string,string> parameters)
    {
        string res = string.Empty;

        foreach (KeyValuePair<string,string> entry in parameters)
        {
            res += entry.Key + "=" + entry.Value + ";";
        }

        return res;
    }
公共静态字符串createConnectionString(字典参数)
{
string res=string.Empty;
foreach(参数中的KeyValuePair条目)
{
res+=entry.Key+“=”+entry.Value+“;”;
}
返回res;
}
下面是一个如何使用它的示例:

        Dictionary<string, string> parameters = new Dictionary<string, string>();
        parameters.Add("Data Source",".\wintouch");
        parameters.Add("Catalog","bbl");
        parameters.Add("ID","sa");
        parameters.Add("Password","Pa$$w0rd");
        string connectionString = createConnectionString(parameters);
Dictionary参数=新建Dictionary();
参数。添加(“数据源”,“\wintouch”);
参数。添加(“目录”、“bbl”);
参数。添加(“ID”、“sa”);
参数。添加(“密码”,“Pa$$w0rd”);
string connectionString=createConnectionString(参数);
您可以随时使用该类

它将允许您构建字符串,例如:

“服务器=我的电脑\\SqlExpress;集成安全性=SSPI;数据库=数据库名”


“服务器=我的电脑\\SqlExpress;集成安全性=false;UID=sa;PWD=APassword;数据库=DataBaseName”

。您想解决什么问题?您可以在代码、配置或文本文件等外部资源中保留连接字符串。“你担心连接字符串”在哪方面?我觉得你的问题并没有传达真正的问题。很抱歉,我想做的是用一个按钮打开一个数据库,而不是直接将其添加到代码中,例如,如果我在另一台计算机上使用另一个数据库名称或路径不同的程序,我仍然可以使用它,只需用一个按钮打开它,基本上是一个打开数据库的按钮,是否足够清晰?如果解释得不好,我很抱歉,那么您想出去查找数据库的名称吗?这看起来真的不安全。这只是一个学术练习,我还在学习,这是我的问题,是的,想象数据库有一个不同的名称或路径,按钮将打开它并生成连接字符串对不起,可能是愚蠢的问题,但这到底会返回什么?它会读取一个文件还是只是问我DB的位置?这将允许您创建一个根据所需参数生成的字符串。从何处获取参数值是您的选择。我误解你了吗?不,这就是我一直在尝试的技巧,效果相当不错,需要稍微调整以满足我的需要,但这是我一直在寻找的总体思路,谢谢,非常清楚的解释。非常感谢。