Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DBB

Update MySQL connector 5.2

Recommended Posts

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.