Когда я пытаюсь подключиться к DataBase, я получаю ошибку: ключевое слово не поддерживает: Host.Не удается подключиться к postrgres с помощью Visual Studio с dotConnect
int x = Int32.Parse(textBox1.Text);
try
{
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection();
con.ConnectionString =
Properties.Settings.Default.postgresConnectionString;
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "getCount";
System.Data.SqlClient.SqlParameter param = new System.Data.SqlClient.SqlParameter("@k",
SqlDbType.Int);
param.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param);
cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Tovar", x));
con.Open();
cmd.ExecuteNonQuery();
string kolvo = cmd.Parameters["@k"].Value.ToString();
con.Close();
label1.Text = kolvo + " израсходован в количестве ";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Строка соединения:
User Id=postgres;Password=8loz9fnl;Host=localhost;Database=postgres;Persist Security Info=True
Почему вы не используете 'NpgsqlConnection' (или, может быть' OdbcConnection'?) Вместо 'SqlConnection'? Поставщик SQL Server имеет 'Data Source', а не' Host'. Также используйте инструкцию 'using' для удаления вашего соединения и команды automaticalliy вместо вызова метода« Закрыть »вручную. –
Почему вы не используете [Npgsql] (http://www.npgsql.org/doc/)? Просто посмотрите на это [учебник] (http://www.codeproject.com/Articles/30989/Using- PostgreSQL-in-your-C-NET-application-An-intr) –
@wingedpanther Спасибо, Connection работает, но я получаю этот результат «Значение для выходного параметра« @k »отсутствует в результате выполнения команды. Имя параметра: @k –