将文本框值插入sql server表

时间:2011-11-29 12:06:37

标签: c# sql-server-2008 windows-applications

我在将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();
            }
        }
    }
}

4 个答案:

答案 0 :(得分:0)

您需要检查连接字符串,您可能会发现它很有用:

http://www.connectionstrings.com/

如果您确定连接字符串,请检查您的数据库状态。

答案 1 :(得分:0)

SQL中的参数名称不应包含空格。我想使用空格来将参数名称括在方括号中。

答案 2 :(得分:0)

您的连接字符串是否正确?这基本上意味着它无法连接到服务器。

另外,只是提示 - 我不会这样做:

 insertCommand.Parameters.Add("@Autorization No", SqlDbType.Int, 60).Value =txt_Auth.Text.ToString();

...

它只是在寻找麻烦。而是复制它,清理它并确保它不会导致异常。

答案 3 :(得分:0)

你的连接字符串中的主机名中的.//不应该存在。我不希望它工作。你应该在那里拥有机器名称。