我想在家中和外部时连接到SQL Server数据库。我可以通过两种方式进行连接,但是我需要在每次从公共IP到本地时更改连接字符串。是否有可能编写一个函数,只要它不能通过远程ip连接来使用连接字符串中的其他主机名? 请帮助我是一个初学者:)当不能连接到第一个连接字符串时,C#更改为不同的连接字符串
回答
试试这个:
//.....
//.....
//..... YOUR CODE
try
{
con = new SqlConnection(check_Active_Connection_String()); // Add this
con.Open();
SqlCommand r = new SqlCommand("SELECT Login FROM Users WHERE Login not like '%Wszyscy%'", con);
//.... YOUR CODE
//.... YOUR CODE
希望它能帮助。
我添加了我的字符串并在 后添加了您的代码public partial class Form1:Form是否正确?我收到 {在WindowsFormsApplication1.exe中发生了'System.NullReferenceException'类型的未处理的异常 –
它也必须显示你在第1行的错误。 ?检查错误是否在我的代码行或其他? –
如果您编辑您的代码并添加我的代码对其进行修改,那么我可以检查一下吗? –
这是我的代码添加你的Dheeraj后。错误发生在con.Open();线
命名空间WindowsFormsApplication1
{
公共部分Form1类:表格{
SqlConnection con;
private string CS_1 = @"Data Source=99.88.88.156,33400\SQLMINFOR;Initial Catalog=Minfor;Integrated Security=False;Password=****;User ID=sa;";
private string CS_2 = @"Data Source=BACKUP-MIN\SQLMIN;Initial Catalog=Minfor;Integrated Security=False;Password=****;User ID=sa;";
public string check_Active_Connection_String()
{
string main_CS = "";
if (try_CS(CS_1))
{
main_CS = CS_1;
}
else if (try_CS(CS_2))
{
main_CS = CS_2;
}
return main_CS;// use main_CS for your connection string further
}
private bool try_CS(string CS)
{
try
{
using (con = new SqlConnection(CS))
{
con.Open();
return true;
}
}
catch (Exception exp)
{
return false;
}
}
public Form1()
{
InitializeComponent();
textBox2.PasswordChar = '*';
try
{
con.Open();
SqlCommand r = new SqlCommand("SELECT Login FROM Users WHERE Login not like '%Wszyscy%'", con);
SqlDataReader dr = r.ExecuteReader();
while (dr.Read())
{
comboBox1.Items.Add(dr["Login"]);
}
dr.Close();
dr.Dispose();
}
catch(SqlException ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}
}
在打开连接之前写下:con = new SqlConnection(check_Active_Connection_String()); –
检查我的答案,我修改了它。 –
如果您的IP \ Server发生更改,该怎么办?你将不得不改变你的代码。最好将这些连接字符串放在应用程序配置文件中,以便日后更改它们。 –
- 1. 更改连接字符串
- 2. 更改连接字符串
- 3. 更改连接字符串
- 4. 当前不支持多个同时连接或同一事务内的不同连接字符串的连接
- 5. 当一个为空时连接字符串不同
- 6. 在C#中使用字符串连接的字符串连接
- 7. 更改连接字符串在C#.NET
- 8. 修改连接字符串
- 9. 字符串字符连接
- 10. 字符串连接性能
- 11. 连接字符串C#
- 12. C#Oracle连接字符串
- 13. C#ODBC连接字符串
- 14. MySQL连接字符串C#
- 15. C#/ LINQ:连接字符串
- 16. C#连接字符串
- 17. 字符串连接
- 18. 连接字符串
- 19. 字符串连接?
- 20. 连接字符串
- 21. 连接字符串
- 22. 连接字符串:
- 23. 连接字符串
- 24. 字符串连接
- 25. 连接字符串
- 26. 连接字符串
- 27. 连接字符串
- 28. 连接字符串
- 29. 连接字符串
- 30. 字符串连接
显示你有什么到目前为止已经试过。 – BeanFrog
当然。你会在你的配置文件中放入两个连接字符串。当打开一个连接失败时,您尝试连接另一个连接。 –