Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

black

update numa gridview

Recommended Posts

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??????


.:: C ::. .::Haskell::. .::VB::. .::PHP::.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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...


.:: C ::. .::Haskell::. .::VB::. .::PHP::.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
black

como crio esse <UpdateParameter> eu estou a utilizar a linguagem c#...

e estou a inserir as funções todas no .cs


.:: C ::. .::Haskell::. .::VB::. .::PHP::.

Share this post


Link to post
Share on other sites
Tiago Salgado
nome_do_datasource.UpdateParameters.Add(new Parameter("campo",DbType.String"));

Share this post


Link to post
Share on other sites
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


.:: C ::. .::Haskell::. .::VB::. .::PHP::.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.