我在将TextBox
值插入SqlServer表时遇到问题。我编写了该代码,但是当我运行该表单时,它会引发运行时错误:“在建立与sql server的连接时发生了与网络相关或特定于实例的错误”。提前谢谢。
public partial class Add_Client : Form
{
SqlConnection clientConnection;
string connString;
SqlCommand insertCommand;
public Add_Client()
{
InitializeComponent();
connString = "Data Source=.//INSTANCE2;Initial Catalog=Clients;Integrated Security=True";
clientConnection = new SqlConnection();
clientConnection.ConnectionString = connString;
}
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlCommand insertCommand = new SqlCommand();
insertCommand.Connection = clientConnection;
insertCommand.CommandText = "INSERT INTO Client_Info values(@Client_Name,@AutorizationNo,@IssueType,@Status)";
insertCommand.Parameters.Add("@Client_Name",SqlDbType.NVarChar,60).Value=txt_Name.Text;
insertCommand.Parameters.Add("@AutorizationNo", SqlDbType.Int, 60).Value =txt_Auth.Text.ToString();
insertCommand.Parameters.Add("@Issue", SqlDbType.Text, 200).Value =txt_Iss.Text;
insertCommand.Parameters.Add("@Status", SqlDbType.TexT, 15).Value=txt_sta.TexT;
insertCommand.Connection.Open();
insertCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (clientConnection != null)
{
clientConnection.Close();
}
}
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
SQL中的参数名称不应包含空格。我想使用空格来将参数名称括在方括号中。
答案 2 :(得分:0)
您的连接字符串是否正确?这基本上意味着它无法连接到服务器。
另外,只是提示 - 我不会这样做:
insertCommand.Parameters.Add("@Autorization No", SqlDbType.Int, 60).Value =txt_Auth.Text.ToString();
...
它只是在寻找麻烦。而是复制它,清理它并确保它不会导致异常。
答案 3 :(得分:0)
你的连接字符串中的主机名中的.//不应该存在。我不希望它工作。你应该在那里拥有机器名称。