Ir para o conteúdo
black

update numa gridview

Mensagens Recomendadas

black    0
black

bom dia caros utilizadores,

estou a desenvolver um um projecto no qual inseri uma gridview e para ja tenho um botao que faz com que insira uma nova linha de dados aqui vai o codigo do .cs:

SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppFLGConnectionString2"].ConnectionString);

SqlCommand cmd = new SqlCommand();

string sqlCommText;

sqlCommText = "INSERT INTO tbl_AEC_Agrupamentos (strNome, strContacto,idAgrupamento) values ('{0}', {1}, {2})";

sqlCommText = string.Format(sqlCommText, Txtnome.Text, Txtcontacto.Text, 104);

SqlCommand sqlComm = new SqlCommand(sqlCommText, sqlConn);

sqlConn.Open();

sqlComm.ExecuteNonQuery();

sqlConn.Close();

Response.Redirect("Agrupinsert.aspx");

aqui tudo bem, porem agora inseri um comandfiel(editar) na gridview mas quando faxo editar os dados ficam numa caixa de texto porem quando faxo update dix que nao tenho o comando update inserido aqui fica o erro:

Updating is not supported by data source 'SqlDataSource1' unless UpdateCommand is specified.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NotSupportedException: Updating is not supported by data source 'SqlDataSource1' unless UpdateCommand is specified.

alguem me pode ajudar..

o que tenho de inserir no .cs??????

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vitortomaz    1
vitortomaz

não sei o que quer dizer "faxo" nem "dix" mas

o que terás de fazer é, tal como o erro indica, definir um UpdateCommand no SqlDataSource1,

dá uma olhadela (acho que podes vê-los nas propriedades do datasource) nos outros comandos dessa dataSource para teres uma ideia de como fazer o Update

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
black    0
black

fui as propriedade do datasource e em updatequery inseri:

UPDATE    dbo.tbl_AEC_Agrupamentos

SET              strNome = strNome

WHERE    (idAgrupamento = 1080)

porem agora quando carrego em update ele volta a devolver o valor antido, ou seja vai buscar a base de dados o valor antigo antes de inserir o que eu editei...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Isso porque o teu Update command não está correcto.

Ao teres o "SET strNome = strNome" é claro que ele vai manter o valor actual da BD.

Tens que ter no teu update command algo do tipo

UpdateCommand = "UPDATE tabela SET campo = @campo WHERE campo = filtro"

Depois tens que criar um parametro

<UpdateParameter>

<asp:Parameter Name="campo" Type="String" />

</UpdateParameter>

Da uma olhadela neste link ao "VB Gridview Updating"

http://quickstarts.asp.net/quickstartv20/aspnet/doc/ctrlref/data/gridview.aspx

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
black    0
black

    protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)

    {

            SqlDataSource1.UpdateParameters.Add(new Parameter("campo",DbType.String));

    }

tem de ficar algo assim???

mas nao da... tenho de defenir algo no using

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade