Desenvolvimento C # - atualização do banco de dados (15.10)

I. Visão geral

  • Para usar a classe DataSet para atualizar os dados no banco de dados em linguagem C #, você também precisa usar a classe SqlCommandBuilder no namespace System.Data.SqlClient para gerar automaticamente os métodos de adição, modificação e exclusão do objeto SqlDataAdapter

  • Quando usado em conjunto com a classe SqlDataAdapter, você só precisa usar o objeto SqlDataAdapter como um parâmetro ao criar uma instância da classe SqlCommandBuilder. A sintaxe é a seguinte:

    SqlCommandBuilder nome do objeto = novo SqlCommandBuilder (objeto da classe SqlDataAdapter);

<! - mais ->

Dois exemplos

Os exemplos a seguir demonstram como usar o DataSet para atualizar o banco de dados

2.1 Exemplo 1: Use DataSet para realizar a função de registro do usuário

2.1.1 Layout da interface

 

2.1.2 Código

// Registrar evento de clique de botão 
private void button1_Click (object sender, EventArgs e) 
{ 
    // Database connection 
    string connStr = "Data Source = .; Initial Catalog = test; User ID = sa; Password = root"; 
    // Crie uma instância de SQLConnection 
    SqlConnection conn = null; 
    try 
    { 
        conn = new SqlConnection (connStr); 
        // Abra a conexão de banco de dados 
        conn.Open (); 
        string sql = "select * from userinfo"; 
        // Crie um objeto da classe 
        SqlDataAdapter SqlDataAdapter sda = new SqlDataAdapter (sql, conn); 
        // Cria um objeto da classe 
        DataSet DataSet ds = new DataSet (); 
        // Use o objeto SQLDataAdapter sda para preencher os resultados da consulta no objeto DataTable ds  
        sda.Fill (ds);
        // Crie um objeto da classe SqlCommandBuilder
        SqlCommandBuilder cmdBuilder = new SqlCommandBuilder (sda); 
        // Crie um objeto da classe 
        DataRow DataRow dr = ds.Tables [0] .NewRow (); 
        // Defina o valor da coluna de nome 
        dr ["name"] = textBox1.Text; 
        // Defina o valor da coluna de senha 
        dr ["password"] = textBox2.Text; 
        // Adicione uma linha ao objeto DataTable 
        ds.Tables [0] .Rows.Add (dr); 
        // Atualize o banco de dados 
        sda.Update (ds); 
        MessageBox .Show ("Registro com êxito!"); 
    } 
    Catch (Exceção ex) 
    { 
        MessageBox.Show ("Registro falhou!" + Ex.Message); 
    } 
    finally 
    { 
        if (conn! = Null) 
            conn.Perto();= null) 
        {
            // Feche a conexão do banco de dados
        } 
    } 
}

2.1.3 Imagem de efeito

 

2.1.4 Descrição

Execute o formulário, insira o nome de usuário e a senha e clique no botão "registrar" para adicionar as informações do usuário à tabela de dados

Substituir a classe DataSet no código acima pela classe DataTable também pode realizar a mesma função e pode simplificar o código

Use a classe DataTable para completar as funções acima e substitua o DataSet por DataTable. Parte do código é a seguinte

// Cria um objeto da classe 
DataTable DataTable dt = new DataTable (); 
// Use o objeto SqlDataAdapter sda para preencher os resultados da consulta no objeto DataTable dt 
sda.Fill (dt); 
// Crie um objeto da classe 
SqlCommandBuilder SqlCommandBuilder cmdBuilderBuilder = new SqlCommander ( sda); 
// Cria um objeto da classe 
DataRow DataRow dr = dt.NewRow (); 
// Define o valor da coluna de nome 
dr ["name"] = txtName.Text; 
// Define o valor da coluna de senha 
dr ["password"] = txtPwd.Text; 
// Adicionar uma linha ao objeto DataTable 
dt.Rows.Add (dr); 
// Atualizar o banco de dados 
sda.Update (dt)

2.2 Exemplo 2 Use DataSet para realizar a função de alterar a senha do usuário

2.2.1 Layout da interface

 

2.2.2 Código de função

// Confirmar evento clique no botão 
private void button1_Click (object sender, EventArgs e) 
{ 
    // Database connection string 
    connStr = "Data Source = .; Initial Catalog = test; User ID = sa; Password = root"; 
    // Crie uma instância de SQLConnection 
    SqlConnection conn = null; 
    try 
    { 
        conn = new SqlConnection (connStr); 
        // Abra a conexão de banco de dados 
        conn.Open (); 
        string sql = "select * from userinfo where name = '{0}' and password = ' {1} '"; 
        // Preencha a instrução SQL 
        sql = string.Format (sql, textBox1.Text, textBox2.Text); 
        // Crie um objeto da classe 
        SqlDataAdapter SqlDataAdapter sda = new SqlDataAdapter (sql, conn); 
        // Crie um DataSet Objeto de classe
        DataSet ds = new DataSet (); 
        // Use o objeto SQLDataAdapter sda para preencher os resultados da consulta no objeto DataTable ds 
        sda.Fill (ds); 
        if (ds.Tables [0] .Rows.Count == 1) 
        { 
            // Julgamento A nova senha não pode estar vazia, e é considerado que as duas senhas inseridas são consistentes 
            se (! "". Equals (textBox3.Text) && textBox3.Text.Equals (textBox4.Text)) 
            { 
                // Criar um objeto da classe 
                SqlCommandBuilder SqlCommandBuilder cmdBuilder = new SqlCommandBuilder (sda); 
                // Cria um objeto da classe 
                DataRow DataRow dr = ds.Tables [0] .Rows [0]; 
                // Defina o valor da coluna de senha 
                dr ["password"] = textBox3.Text; 
                // Atualize o banco de dados 
                sda .Update (ds);
                // atualizar os dados no objeto DataSet 
                ds.Tables [0] .AcceptChanges (); 
                MessageBox.Show ( "Senha alterada com sucesso!"); 
            } 
            Else 
            { 
                MessageBox.Show ( "A nova senha está vazio ou as senhas digitadas em ambos os lados são inconsistentes ! "); 
            } 
        } 
    } 
    catch (Exceção ex) 
    { 
        MessageBox.Show (" Modificação de senha falhou! "+ ex.Message); 
    } 
    finally 
    { 
        if (conn! = null) 
        { 
            // Fechar a conexão de banco de dados 
            conn.Close () ; 
        } 
    } 
}

2.2.3 Imagem de efeito

 

2.2.4 Descrição

Pode ser visto pelo efeito de execução acima que a senha foi modificada com sucesso, e os dados na tabela de informações do usuário (userinfo) também podem ser verificados no banco de dados para verificar se a senha foi modificada

Se você precisar excluir os dados da tabela de dados por meio do DataSet, use o código a seguir.

// Exclua a linha especificada na DataTable, ds representa o objeto DataSet 
ds.Tables [0] .Rows [número de linhas] .Delete (); 
// Atualize o banco de dados, sda representa o objeto SqlDataAdapter 
sda.Update (ds); 
// Atualize o DataSet Os dados no objeto 
ds.Tables [0] .AcceptChanges ();

Acho que você gosta

Origin blog.csdn.net/Calvin_zhou/article/details/108080061
Recomendado
Clasificación