我已经开发了一个小型聊天系统,可以在局域网中通过TCP正常工作。 之后,我开始设计一个小型系统,该系统可以通过其机器名称识别用户。计算机名称与数据库表“用户”中的用户关联。当我在开发的PC上尝试使用时,它的效果很好。我可以肯定的是,在数据库中找到它的机器名称之后,该程序在网络上的其他PC上崩溃,这意味着它不是数据库连接问题。如果有人对它为什么会在其他PC上崩溃有任何见解,请务必告知。
public void LogInTroughDB()
{
string serverName = "10.255.2.140\\ADMIN\\adminDB,1433";
string userID = "admin";
string password = "admin";
SqlConnection cnn;
string connetionString = null;
connetionString = @"Server=" + serverName + ";Initial Catalog=master;User ID=" + userID + ";Password=" + password;
cnn = new SqlConnection(connetionString);
try
{
cnn.Open();
//MessageBox.Show("Connection Open!");
}
catch (Exception ex)
{
MessageBox.Show("Connection Error!");
}
string sqlquery = ("SELECT * FROM dbo.Users WHERE (machine_name ='"+machine_name+"')"); ;
SqlCommand command = new SqlCommand(sqlquery, cnn);
SqlDataReader sReader;
sReader = command.ExecuteReader();
while(sReader.Read()) {
first_name = sReader["first_name"].ToString();
last_name = sReader["last_name"].ToString();
userNameText.Text = first_name + " " + last_name;
}
}
当程序在网络中的另一台PC上启动时,如果其计算机名在数据库中,则应将用户登录到聊天室并允许他发送消息。