Inserir dados em sql a partir de asp.net

red_bad

Portugal@Home Member
Olá malta eu sou um estagiario e o meu tutor do estagio colocou-me um trabalho que é fazer um site em asp.net, já comecei a fazer a base de dados mas agora quero inserir os dados nas tabelas a partir do site. Quais os códigos que tenho de usar e onde os coloco? É urgente por favor.

Obrigado

PS: Estou a usar o Web Matrix para desenvolver no asp e fazer a base de dados em sql
 
Primeiro ..tens que colocar a connectionString...no ficheiro web.config..(existe este ficheiro no visual studio nao conheço o web Matrix)

Código:
[SIZE=2][COLOR=white][B]<[/B][/COLOR][B][SIZE=2]configuration[/SIZE][SIZE=2]>[/SIZE][/B][/SIZE]
[COLOR=white][B][SIZE=2]<[/SIZE][SIZE=2]appSettings[/SIZE][SIZE=2]/>[/SIZE][/B][/COLOR]
[COLOR=white][B][SIZE=2]<[/SIZE][SIZE=2]connectionStrings[/SIZE][SIZE=2]>[/SIZE][/B][/COLOR]
[COLOR=white][B][SIZE=2]<[/SIZE][SIZE=2]add[/SIZE][SIZE=2]name[/SIZE][SIZE=2]=[/SIZE][SIZE=2]"(nome da connectionstring)[/SIZE][SIZE=2]" [/SIZE][SIZE=2]connectionString[/SIZE][SIZE=2]=[/SIZE][SIZE=2]"[/SIZE][SIZE=2]Data Source=(nomeservidor);Initial Catalog=(nomeBD);Integrated Security=True[/SIZE][SIZE=2]"[/SIZE][/B][/COLOR]
[COLOR=white][B][SIZE=2]providerName[/SIZE][SIZE=2]=[/SIZE][SIZE=2]"[/SIZE][SIZE=2]System.Data.SqlClient[/SIZE][SIZE=2]"[/SIZE][SIZE=2] />[/SIZE][/B][/COLOR]
[COLOR=white][B][SIZE=2]</[/SIZE][SIZE=2]connectionStrings[/SIZE][SIZE=2]>[/SIZE][/B][/COLOR]
[SIZE=2][COLOR=white][B](...)[/B][/COLOR][/SIZE]
[B]</configuration>[/B]
...isto é para aceder a bds em SQLServer2005, o data source é o nome do servidor da bd., nomedocomputador/SQLEXPRESS, se tiveres a usar SQLserver2005 EXPRESS....

Depois para acederes as bds precisas de utilizares outras linguagens como C# ou vb.net...se quiseres mais dicas indica mais concretamente o que queres fazer...:)
 
Última edição:
Boas. Desculpem pela demora mas tive ausente.
Bem antes demais obrigado pelas respostas. Começei a usar o Visual studio express e já consegui fazer a ligação à base de dados, mas agora como faço para adicionar dados numa tabela a partir do site? Por exemplo, tenho uma textbox e um botão, escrevo na textbox e clico no botão e os dados vão inserir numa tabela que eu definir. Isso é possível?
Obrigado desde já
 
vars globais

Código:
Dim sda As SqlDataAdapter
    Dim ligacao2, strsql As String
    Dim ds As DataSet
evento load da pagina ............................

page load

Código:
ligacao2 = "data source=(local);initial catalog=CMPStocks;" & _
           "integrated security=SSPI;persist security info=True"


        'faz a respectiva seleccção a base de dados para detactar o 
        'utilizador que foi digitado na caixa de texto

        strsql = " SELECT Login FROM TabUtilizador " & _
        " where TabUtilizador.Login ='" & Me.Txtbox_user.Text & "'"


        sda = New SqlDataAdapter(strsql, ligacao2)

        ds = New DataSet()
        sda.Fill(ds)
        sda.Dispose()
___________________________________

botão registar ......................


Código:
Protected Sub btn_registar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_registar.Click
     


        Dim ligacao, insere_sql, num
      
        Dim table As DataTable
        ' Dim cont As Integer

        ' faz a ligação a base de dados

        '**************************************************************************************
        ' verifica se o que foi digitado na caixa de texto é igual a string de pesquiza
        ' strsql feita a cima para detectar se o utilizador ja existe ou não na bd
        ' caso exista faz o seu registo
        ' caso contrario diz que ja existe 


        table = ds.Tables.Item(0)
        Dim cont As Integer = table.Rows.Count

        If cont = 0 Then
          

            ligacao = New SqlConnection("data source=(local);initial catalog=CMPStocks;" & _
                            "integrated security=SSPI;persist security info=True")

            ' abre a ligação
            ligacao.open()


            ' faz o sql para inserir cada string inserida no campo respectivo
            ' da bd

            insere_sql = "Insert into  TabUtilizador (" & _
            " login,Password,[E-Mail], Previlegios )" & _
            " values (@login, @password,@mail, @prev)"

            ' comando pare executar a ligação
            Dim comando As SqlCommand = New SqlCommand(insere_sql, ligacao)

            ' cria as variaveis tipo sql parameter associadas aos respectivos tipos

            Dim login As SqlParameter = New SqlParameter("@login", SqlDbType.VarChar)
            Dim password As SqlParameter = New SqlParameter("@password", SqlDbType.VarChar)
            Dim mail As SqlParameter = New SqlParameter("@mail", SqlDbType.VarChar)
            Dim prev As SqlParameter = New SqlParameter("@prev", SqlDbType.VarChar)

            'atribui o valor inserido no formulario de cada caixa de texto 
            ' a variavel criada a cima

            login.Value = Me.Txtbox_user.Text
            password.Value = GeraHash(Me.txtbox_pass.Text)
            mail.Value = Me.Txt_Mail.Text
            prev.Value = Me.ListBox_tipo_util.Text

            ' adiciona o valor guardado nessa variavel no respectivo campo da bd

            comando.Parameters.Add(login)
            comando.Parameters.Add(password)
            comando.Parameters.Add(mail)
            comando.Parameters.Add(prev)

            num = comando.ExecuteNonQuery

            ' se existir ligação guarda os dados , caso contrario da mesnagem de erro
            If num = 1 Then

                Me.Label_erro.Visible = True

                Me.Label_erro.Text = "O Utilizador  " & Me.Txtbox_user.Text & "Foi Registado com sucesso"

                Me.Txtbox_user.Text = ""
                Me.txtbox_pass.Text = ""
                Me.Txt_Mail.Text = ""

            Else

                Me.Label_erro.Visible = True
                Me.Label_erro.Text = " Erro na interligação de dados"
            End If

            ligacao.close()



        Else
            Me.Label_erro.Visible = True
            Me.Label_erro.Text = " Utilizador ja existente "




        End If

       
    End Sub
espero que ajude

esta ligação esta feita em sqlserver 2000, com vb.net em asp.net framework 2
 
Última edição:
Boas.
Desde já muito obrigado Alfinete por me teres respondido e ajudado ;)
Fiz tal e qual o que disseste e até foi fácil e parece que já vai num bom caminho, até já estava a ficar desmoralizado com isto lol só que agora aparecem-me uns quantos erros. Como não os sei explicar bem por aqui deixo um screen

Sabes do que pode ser?

Obrigado :)

Cumps
 
Boas :)
A parte da conecção eu já sei fazer, eu não sei é o que é que são aqueles erros, diz que não é member do _default mas não faço ideia de como emendar isso.

Obrigado

Cumps ;)
 
isso se não me engano deve ter a ver com os nomes dos objectos que criaste(caixas de texto , etc), e a sua relação com variaveis e atribuições que lhe fiseste, é o que eu acho, pois assim a traves da imagem sem estar em frente a isso , não dá par perceber melhor

mas isso guarda o registo ou não?

estas a trabalhar com vb não estas?
 
Boas.

Os erros que davam antes já foram resolvidos, pois não tinha criado as textbox's nem as labels.

os objectos ja estão todos declarados o problema agora é que ao fazer o debug ele apresenta este erro "Cannot open database requested in login 'CMPStocks'. Login fails.
Login failed for user 'blá blá blá\Tau Tau Tau e coiso'." suponho que esse CMPStocks será algo a ver com a tabela da base de dados não?...digo eu lol.~


obrigado pela ajuda e pelo tempo dispensado alfinete :D

cumps
 
Última edição:
Boas.

Os erros que davam antes já foram resolvidos, pois não tinha criado as textbox's nem as labels.

os objectos ja estão todos declarados o problema agora é que ao fazer o debug ele apresenta este erro "Cannot open database requested in login 'CMPStocks'. Login fails.
Login failed for user 'blá blá blá\Tau Tau Tau e coiso'." suponho que esse CMPStocks será algo a ver com a tabela da base de dados não?...digo eu lol.~


obrigado pela ajuda e pelo tempo dispensado alfinete :D

cumps

tu copiaste literalmente para a tua aplicação todo o código k o alfinete te deu? aquilo era só 1 exemplo, tinhas de adaptar o código às tuas necessidades :)

o outro erro que te dava era pk n tinhas os objectos criados (como de resto já disseste k corrigiste), no código do alfinete o "CMPStocks" é o nome da base de dados ("initial catalog" na connection string), tens de escrever o nome da tua base de dados
 
Boas.
Obrigado pelas ajudas pessoal. Já mudei para a minha base de dados mas agora da-me outro erro:


Isto está complicado :S

Cumps
 
Back
Topo