diferenças de banco de dados SQL

votos
0

Eu tenho lá 2 códigos sobre como conectar ao banco de dados SQL Server 2005. código 1 está usando DataSet e DataAdapter, código de 2 , não usou nenhum dos dois. Alguém por favor pode me ajudar a explicar o que é as diferenças e Advatages / desvantagens em ambos programs..thankz

code1


//create connection, dataset, dataadapter
System.Data.SqlClient.SqlConnection con;
DataSet ds1;
System.Data.SqlClient.SqlDataAdapter da;

int MaxRows = 0; //hold how many rows in the dataset int inc = 0; //change the current Row number private void Form1_Load(object sender, EventArgs e) { con = new System.Data.SqlClient.SqlConnection(); ds1 = new DataSet(); //setting the connection string con.ConnectionString = Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Documents\Visual Studio 2008\Projects\WindowsFormsApplication5\WindowsFormsApplication5\Test2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True; con.Open();

 //create object for 'da' variable
 string sql = SELECT * From tblOutbox;
 da = new System.Data.SqlClient.SqlDataAdapter(sql, con);

 da.Fill(ds1, tblOutbox);
 NavigateRecords();
 //get the number of rows in DataSet
 MaxRows = ds1.Tables[tblOutbox].Rows.Count;

 con.Close();

}

Código 2:


System.Data.SqlClient.SqlConnection sqlConnection1 =
  new System.Data.SqlClient.SqlConnection(Data Source=.\SQLEXPRESS;AttachDbFilename=F:\Test2.mdf;Integrated Security=True;User Instance=True);

//command queries System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.CommandType = System.Data.CommandType.Text //cmd.CommandText = INSERT IGNORE INTO tblSend (ip, msg, date) SELECT ip, msg, date FROM tblOutbox; cmd.Connection = sqlConnection1;

sqlConnection1.Open(); //open con cmd.ExecuteNonQuery(); //execute query sqlConnection1.Close(); //close con

Publicado 27/08/2009 em 07:55
fonte usuário
Em outras línguas...                            


4 respostas

votos
1

O código 1 é uma busca (daí o conjunto de dados que é um armazenamento de dados de objecto) e código de dois simplesmente executado um comando (uma inserção) no dBASE. No entanto, o cmd.CommandText () é comentado (e, portanto, não está definido) para que o código irá realmente lançar uma exceção.

EDIT: Dê uma olhada aqui: ADO.Net Documentação 2.0 MSDN

Respondeu 27/08/2009 em 07:59
fonte usuário

votos
1

O primeiro recebe algo do banco de dados, é uma select. O segundo não faz nada, mas se o cmd.CommandText é descomentada ele executa um insert. Eles definitivamente não são exemplos de fazer a mesma coisa de maneiras diferentes.

Respondeu 27/08/2009 em 08:01
fonte usuário

votos
2

No primeiro código que você está tentando buscar um conjunto de resultados de banco de dados usando DataAdpater e depois preencher um conjunto de dados com o preenchimento método de DataAdapter.

No segundo você está inserindo dados em uma tabela usando ExecuteNonQuery método de SqlCommand objeto.

Respondeu 27/08/2009 em 08:02
fonte usuário

votos
0

Primeiro que você está selecionando e no segundo você está inserindo :)

Conjunto de dados , e DataAdapter são usados para buscar dados de banco de dados.

ato DataAdapter como uma ponte entre a base de dados e conjunto de dados.

Em seu segundo código diz que a sua para a inserção de seus dados ao banco de dados.

ExecuteNonQuery diz quantas linhas são afetados.

Respondeu 27/08/2009 em 08:16
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more