Вставьте значение текстового поля в таблицу sqlserver - PullRequest
0 голосов
/ 29 ноября 2011

У меня проблема с вставкой значения TextBox в таблицу SqlServer.Я написал этот код, но когда я запускаю форму, она вызывает ошибку во время выполнения: «при установлении соединения с сервером sql произошла ошибка, связанная с сетью или экземпляром».Заранее спасибо.

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 голосов
/ 29 ноября 2011

.// в имени хоста в строке подключения не должно быть. Я не ожидал бы, что это сработает. у вас должно быть просто имя машины там.

0 голосов
/ 29 ноября 2011

Имена параметров в SQL не должны содержать пробелов.Если вы хотите использовать пробелы, вы должны заключить имя параметра в квадратные скобки.

0 голосов
/ 29 ноября 2011

Правильна ли ваша строка подключения?Это в основном означает, что он не может подключиться к серверу.

Кроме того, просто подсказка - я бы не стал этого делать:

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

...

Егопросто напрашиваюсь на неприятности.Вместо этого скопируйте его, очистите и убедитесь, что он не вызовет исключения.

0 голосов
/ 29 ноября 2011

Вам нужно проверить соединительную строку, вы можете найти ее полезной:

http://www.connectionstrings.com/

Если вы уверены в строке подключения, проверьте состояние базы данных.

...