我在C#和不同的方法中有一个类连接。方法connect获得三个参数。
我需要在方法inserirFornecedor
中使用连接Open(),但是有一个错误:
ConnectionString属性尚未初始化。
public Boolean connect(String user, String password, String BD) {
connectionSql = new SqlConnection(
"user id=" + user + ";" +
"password=" + password + ";" +
"Server=" + BD + ";" +
"Database=****;" +
"Connection timeout=30"
);
try
{
connectionSql.Open();
MessageBox.Show("Ligação estabelecida com o Servidor! ", "Ligação");
return true;
}
catch (SqlException ex)
{
MessageBox.Show("Falhou a ligação!", "Ligação" + ex.Message);
return false;
}
}
//Metodo para inserir fornecedor na base dados.
public void inserirFornecedor(string codigo, string nome, string entrega, int qos, int tsq, int qtd) {
commandSql = new SqlCommand("INSERT INTO supplierschedule VALUES(@codigo,@nome,@entrega,@qos,@tsq,@qtd)", connectionSql);
commandSql.Parameters.AddWithValue("@codigo", codigo);
commandSql.Parameters.AddWithValue("@nome", nome);
commandSql.Parameters.AddWithValue("@entrega", entrega);
commandSql.Parameters.AddWithValue("@qos", qos);
commandSql.Parameters.AddWithValue("@tsq", tsq);
commandSql.Parameters.AddWithValue("@qtd", qtd);
commandSql.ExecuteNonQuery();
}
答案 0 :(得分:-1)
将代码更改为
public SqlConnection connect(String user, String password, String BD)
{
connectionSql = new SqlConnection(
"user id=" + user + ";" +
"password=" + password + ";" +
"Server=" + BD + ";" +
"Database=****;" +
"Connection timeout=30"
);
try
{
connectionSql.Open();
MessageBox.Show("Ligação estabelecida com o Servidor! ", "Ligação");
return connectionSql;
}
catch (SqlException ex)
{
MessageBox.Show("Falhou a ligação!", "Ligação" + ex.Message);
return null;
}
}
//Metodo para inserir fornecedor na base dados.
public void inserirFornecedor(string codigo, string nome, string entrega, int qos, int tsq, int qtd)
{
using (SqlConnection conn = connect(user, password, BD))
{
if (conn == null) return;//Cannot connect to DB
commandSql = new SqlCommand("INSERT INTO supplierschedule VALUES(@codigo,@nome,@entrega,@qos,@tsq,@qtd)", conn);
commandSql.Parameters.AddWithValue("@codigo", codigo);
commandSql.Parameters.AddWithValue("@nome", nome);
commandSql.Parameters.AddWithValue("@entrega", entrega);
commandSql.Parameters.AddWithValue("@qos", qos);
commandSql.Parameters.AddWithValue("@tsq", tsq);
commandSql.Parameters.AddWithValue("@qtd", qtd);
commandSql.ExecuteNonQuery();
}
}