DBB 0 Denunciar post Postado Agosto 5, 2008 Galera to desenvolvendo um site usando MySQL, e não to entendendo um negócio, tenho feito os scripts de SQL, INSERT na boa usando MySQL com o connector 5.2 oficial do site da MySQL.com. Porem o script de update não funciona ele faz todos os passas dá tudo certo, ja debuguei etc... e não tem erro, mas ele não atualiza. Abaixo exemplo de como estou fazendo, o script é igual o de insert não entendo porque ele não executa, e não dá erro em local algum. Dim conexao As New MySqlConnection(ConfigurationManager.ConnectionStrings("LocalMySqlServer").ConnectionString) conexao.Open() Dim strSQL As String = "UPDATE tb_foto_categoria SET foto_categoria_titulo = @titulo ,foto_categoria_ativo = @ativo ,foto_categoria_evento_data = @data WHERE foto_categoria_cd = @cd" Dim comando As New MySqlCommand(strSQL, conexao) comando.Parameters.Add("@titulo", MySqlDbType.VarChar).Value = txtNomeCategoria.Text comando.Parameters.Add("@ativo", MySqlDbType.Bit).Value = rdStatus.SelectedValue comando.Parameters.Add("@data", MySqlDbType.Date).Value = dtEvento.SelectedDate comando.Parameters.Add("@cd", MySqlDbType.Int24).Value = Request.QueryString("cd") Dim lblMensagem As Label = Master.FindControl("lblMensagem") Try comando.ExecuteNonQuery() lblMensagem.Visible = True lblMensagem.Text = "Categoria Alterada com sucesso!" lblMensagem.CssClass = "msgOk" Catch ex As Exception lblMensagem.Visible = True lblMensagem.Text = "Ocorreu um erro!" lblMensagem.CssClass = "msgErro" End Try If conexao.State = ConnectionState.Open Then conexao.Close() End If Grato. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 5, 2008 Você já pegou o valor em tempo de execução da sua variável strSQL e testou ela direto no banco pra ver se esta correta??? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
DBB 0 Denunciar post Postado Agosto 6, 2008 Amigo, tentei trocar @ por ? ja verifiquei o retorno do comando.ExecuteNonQuery() colocando na variavel i e o retorno = 1 ou seja ta funcionando. Nao sei mais o que fazer, tem um detalhe a versao do MySQL que to usando e a versao 4 ou seja antes da versao 5.0 que tem suporte a procedure, nao se se isso influencia. Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Agosto 6, 2008 tenta concatenar os valores recebidos na query pra ver se é a adição de parâmetros que está ferrando com a execução. Compartilhar este post Link para o post Compartilhar em outros sites
DBB 0 Denunciar post Postado Agosto 13, 2008 Estava resolvendo outras prioridades agora voltei ao problema denovo.... Muiiito muiiito estranho gerei a string manualmente concatenando os valores no ASP.NET e mesmo assim nao funcionou, ai fui rodar a string dentro de um programa que conecta-se a base de dados e pra minha surpresa olha os resultados. Usando a query UPDATE tb_noticia SET noticia_titulo = 'sssssssss', noticia_descricao = '<p>hhhhhhhhhhhhhhhhhhhhh</p>', noticia_ativo = 1 WHERE noticia_cd = 7 elel nao modifica nada, e deveria modificar ao menos 1 registro retirando a clausula WHERE ele atualiza todos normalmente!! Sera qu pode ser algum problema na tabela ou ate mesmo no banco de dados??? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 13, 2008 Se ele não modifica nada, é por que não existe uma noticia com o campo noticia_cd igual a 7. Este campo é chave primária?? Ele é inteiro mesmo??? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
DBB 0 Denunciar post Postado Agosto 13, 2008 Cara impossivel eu vejo o registro na tabela, e outra o sistema so funciona com base nos codigos do banco de dados, quando clico no botao editar tal item ele abre o que ta no banco de dados e carrega nos campos porem quando mando atualizar ele nao faz nada! entao impossivel o registro nao existir. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 13, 2008 Então vamos começar eliminando alguns erros simples. Se você joga a query direto no seu banco sem usar sua aplicação e mesmo assim não atualiza, o problema esta na query ou no banco e não na sua aplicação. Na sua query o seu campo chave esta sem aspas em volta, ele é integer no seu banco?? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
DBB 0 Denunciar post Postado Agosto 14, 2008 Sim ele é integer sim auto icrement Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Agosto 14, 2008 Posta a estrutura do bd ae pra gente.. Flwww Compartilhar este post Link para o post Compartilhar em outros sites
DBB 0 Denunciar post Postado Agosto 14, 2008 Ai vai a estrutura inteira do BD, mandei ele exporar somente a estrutura e ai vai o código: /* SQLyog Enterprise - MySQL GUI v5.17 Host - 4.1.21-community-nt : Database - dbsp_nomenahora ********************************************************************* Server version : 4.1.21-community-nt */ SET NAMES utf8; SET SQL_MODE=''; create database if not exists `dbsp_nomenahora`; USE `dbsp_nomenahora`; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; /*Table structure for table `my_aspnet_applications` */ DROP TABLE IF EXISTS `my_aspnet_applications`; CREATE TABLE `my_aspnet_applications` ( `id` int(11) NOT NULL auto_increment, `name` text, `description` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `my_aspnet_membership` */ DROP TABLE IF EXISTS `my_aspnet_membership`; CREATE TABLE `my_aspnet_membership` ( `userId` int(11) NOT NULL default '0', `Email` varchar(128) default NULL, `Comment` varchar(255) default NULL, `Password` varchar(128) NOT NULL default '', `PasswordKey` varchar(32) default NULL, `PasswordFormat` tinyint(4) default NULL, `PasswordQuestion` varchar(255) default NULL, `PasswordAnswer` varchar(255) default NULL, `IsApproved` tinyint(1) default NULL, `LastActivityDate` datetime default NULL, `LastLoginDate` datetime default NULL, `LastPasswordChangedDate` datetime default NULL, `CreationDate` datetime default NULL, `IsLockedOut` tinyint(1) default NULL, `LastLockedOutDate` datetime default NULL, `FailedPasswordAttemptCount` int(10) unsigned default NULL, `FailedPasswordAttemptWindowStart` datetime default NULL, `FailedPasswordAnswerAttemptCount` int(10) unsigned default NULL, `FailedPasswordAnswerAttemptWindowStart` datetime default NULL, PRIMARY KEY (`userId`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='2'; /*Table structure for table `my_aspnet_profiles` */ DROP TABLE IF EXISTS `my_aspnet_profiles`; CREATE TABLE `my_aspnet_profiles` ( `userId` int(11) NOT NULL default '0', `valueindex` longtext, `stringdata` longtext, `binarydata` longblob, `lastUpdatedDate` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`userId`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `my_aspnet_roles` */ DROP TABLE IF EXISTS `my_aspnet_roles`; CREATE TABLE `my_aspnet_roles` ( `id` int(11) NOT NULL auto_increment, `applicationId` int(11) NOT NULL default '0', `name` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; /*Table structure for table `my_aspnet_schemaversion` */ DROP TABLE IF EXISTS `my_aspnet_schemaversion`; CREATE TABLE `my_aspnet_schemaversion` ( `version` int(11) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `my_aspnet_users` */ DROP TABLE IF EXISTS `my_aspnet_users`; CREATE TABLE `my_aspnet_users` ( `id` int(11) NOT NULL auto_increment, `applicationId` int(11) NOT NULL default '0', `name` text NOT NULL, `isAnonymous` tinyint(1) NOT NULL default '1', `lastActivityDate` datetime default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `my_aspnet_usersinroles` */ DROP TABLE IF EXISTS `my_aspnet_usersinroles`; CREATE TABLE `my_aspnet_usersinroles` ( `userId` int(11) NOT NULL default '0', `roleId` int(11) NOT NULL default '0', PRIMARY KEY (`userId`,`roleId`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; /*Table structure for table `tb_foto` */ DROP TABLE IF EXISTS `tb_foto`; CREATE TABLE `tb_foto` ( `foto_cd` int(10) unsigned NOT NULL default '0', `foto_categoria_cd` int(10) unsigned NOT NULL default '0', `foto_descricao` varchar(200) NOT NULL default '', PRIMARY KEY (`foto_cd`), KEY `FK_tb_foto_1` (`foto_categoria_cd`), CONSTRAINT `FK_tb_foto_1` FOREIGN KEY (`foto_categoria_cd`) REFERENCES `tb_foto_categoria` (`foto_categoria_cd`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `tb_foto_categoria` */ DROP TABLE IF EXISTS `tb_foto_categoria`; CREATE TABLE `tb_foto_categoria` ( `foto_categoria_cd` int(10) unsigned NOT NULL auto_increment, `foto_categoria_titulo` varchar(100) NOT NULL default '', `foto_categoria_ativo` tinyint(1) NOT NULL default '0', `foto_categoria_evento_data` date NOT NULL default '0000-00-00', PRIMARY KEY (`foto_categoria_cd`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `tb_mural` */ DROP TABLE IF EXISTS `tb_mural`; CREATE TABLE `tb_mural` ( `mural_cd` int(10) unsigned NOT NULL auto_increment, `mural_nome` varchar(100) NOT NULL default '', `mural_telefone` varchar(45) NOT NULL default '', `mural_email` varchar(200) NOT NULL default '', `mural_comentarios` text NOT NULL, `mural_ativo` tinyint(1) NOT NULL default '0', `mural_data` date NOT NULL default '0000-00-00', PRIMARY KEY (`mural_cd`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `tb_noticia` */ DROP TABLE IF EXISTS `tb_noticia`; CREATE TABLE `tb_noticia` ( `noticia_cd` int(10) unsigned NOT NULL auto_increment, `noticia_titulo` varchar(100) NOT NULL default '', `noticia_data` date NOT NULL default '0000-00-00', `noticia_descricao` text NOT NULL, `noticia_ativo` tinyint(1) NOT NULL default '0', PRIMARY KEY (`noticia_cd`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; Compartilhar este post Link para o post Compartilhar em outros sites