NAO ESTOU CONSEGUINDO CRIAR ESTE CODIGO NO SQL SER
OLA, EU CRIEI UMA TELA DE LOGIN COM OS SEGUINTES CAMPO, NOME DE USUARIO E SENHA, DEPOIS CRIEI UM BANCO DE DADOS NO SQL SERVER, MAIS NAO ESTA DANDO CERTO, DEEM UMA OLHADINHA AE E TENTEM ME AJUDAR.
create table usuarios
(
ID INT NOT NULL,
USUARIO VARCHAR (20)NOT NULL,
SENHA VARCHAR (10)NOT NULL,
CONSTRAINT PKUSUARIOS PRIMARY KEY (ID))
GO
SEI QUE PRECISO USAR UMA [Ô]UNIQUE[Ô] EM NOME DE USUARIO PRA NAO SE REPETIR, MAIS NAO SEI ONDE ELA SE ENCAIXA NO CODIGO, ESTOU ERRANDO A SINTAXE, E ESTA DANDO ERRO, TAMBEM GOSTARIA DE SABER COMO FAÇO PARA CONECTAR DEPOIS COM MINHA TELA DE LOGIN CRIADA EM VB.NET, POR FAVOR SEJA DETALHISTA NA HORA DA EXPLICAÇÃO, SOU INICIANTE E ESTOU APRENDENDO AINDA, OUTRA COISA, EU CRIEI UM BOTAO COM O NOME DE [Ô]NOVO USUARIO[Ô] EU GOSTARIA DE SABER SE TEM ALGUM CODIGO QUE FAÇA ESTE BOTAO FICAR PISCANDO PARA O USUARIO CADASTRAR SEU NOME E SENHA NA PRIMEIRA VEZ QUE FOR LOGAR NO SISTEMA.
create table usuarios
(
ID INT NOT NULL,
USUARIO VARCHAR (20)NOT NULL,
SENHA VARCHAR (10)NOT NULL,
CONSTRAINT PKUSUARIOS PRIMARY KEY (ID))
GO
SEI QUE PRECISO USAR UMA [Ô]UNIQUE[Ô] EM NOME DE USUARIO PRA NAO SE REPETIR, MAIS NAO SEI ONDE ELA SE ENCAIXA NO CODIGO, ESTOU ERRANDO A SINTAXE, E ESTA DANDO ERRO, TAMBEM GOSTARIA DE SABER COMO FAÇO PARA CONECTAR DEPOIS COM MINHA TELA DE LOGIN CRIADA EM VB.NET, POR FAVOR SEJA DETALHISTA NA HORA DA EXPLICAÇÃO, SOU INICIANTE E ESTOU APRENDENDO AINDA, OUTRA COISA, EU CRIEI UM BOTAO COM O NOME DE [Ô]NOVO USUARIO[Ô] EU GOSTARIA DE SABER SE TEM ALGUM CODIGO QUE FAÇA ESTE BOTAO FICAR PISCANDO PARA O USUARIO CADASTRAR SEU NOME E SENHA NA PRIMEIRA VEZ QUE FOR LOGAR NO SISTEMA.
Bem são várias dúvidas em um único tópico e provavelmente você terá que criar mais de um tópico. Mas vamos por partes:
Em primeiro lugar, o que você se refere como [Ô]unique[Ô], se chama tecnicamente de chave pimária e você já a está criando no campo ID, esse sim não se repetirá. Você pode adicionar o campo [Ô]usuario[Ô] à cláusula da primary key, fazendo assim uma chave múltipla, mas é algo um pouco difÃcil para um iniciante trabalhar. Essa sintaxe de criação de tabela me parece correta e provavelmente você já criou a tabela no banco de dados, se não criou ainda, abra o SQL Management Studio e execute esse mesmo script que você mostrou, que a tabela deve ser criada.
Para fazer a conexão com o banco de dados e utilizar essa tabela, primeiramente você deve entender o que é e como funciona o ADO.NET. Existem explicações bem detalhadas pela internet, mostrando isso passo a passo para você, inclusive aqui no VBMania mesmo, dê uma procurada.
Depois de entender bem como funciona e como utilizar o ADO.NET, aà sim, vamos partir para código, e aliás, é uma coisa importante dominar antes o conceito e SOMENTE DEPOIS partir para escrever código.
Em primeiro lugar, o que você se refere como [Ô]unique[Ô], se chama tecnicamente de chave pimária e você já a está criando no campo ID, esse sim não se repetirá. Você pode adicionar o campo [Ô]usuario[Ô] à cláusula da primary key, fazendo assim uma chave múltipla, mas é algo um pouco difÃcil para um iniciante trabalhar. Essa sintaxe de criação de tabela me parece correta e provavelmente você já criou a tabela no banco de dados, se não criou ainda, abra o SQL Management Studio e execute esse mesmo script que você mostrou, que a tabela deve ser criada.
Para fazer a conexão com o banco de dados e utilizar essa tabela, primeiramente você deve entender o que é e como funciona o ADO.NET. Existem explicações bem detalhadas pela internet, mostrando isso passo a passo para você, inclusive aqui no VBMania mesmo, dê uma procurada.
Depois de entender bem como funciona e como utilizar o ADO.NET, aà sim, vamos partir para código, e aliás, é uma coisa importante dominar antes o conceito e SOMENTE DEPOIS partir para escrever código.
UMA [Ô]UNIQUE[Ô] NADA MAIS é UM CAMPO QUE NAO SE REPETE, EU VI ISSO NA NET, NO MEU CASO MEU CAMPO IDE TEM QUE SER UMA CHAVE PRIMARIA, MAIS NA HORA QUE O USUARIO FOR DIGITAR SEU NOME NA HORA DO LOGIN ESSE NOME TEM QUE SER [Ô]UNICO[Ô] NAO PODE SE REPETIR IGUAL O DE SENHA, OBRIGADO PELA ATENÇÃO.
Citação::
UMA [Ô]UNIQUE[Ô] NADA MAIS é UM CAMPO QUE NAO SE REPETE, EU VI ISSO NA NET, NO MEU CASO MEU CAMPO IDE TEM QUE SER UMA CHAVE PRIMARIA, MAIS NA HORA QUE O USUARIO FOR DIGITAR SEU NOME NA HORA DO LOGIN ESSE NOME TEM QUE SER [Ô]UNICO[Ô] NAO PODE SE REPETIR IGUAL O DE SENHA, OBRIGADO PELA ATENÇÃO.
Para tornar único, você deve incluir o campo como chave primária, no mÃnimo. Até é possÃvel criar uma constraint para evitar repetições...
VOCE PODERIA REESCREVER MEU CONDIGO E POSTAR AQUI POR GENTILEZA? APENAS PARA MIN TIRAR COMO EXEMPLO? OBRIGADO AMIGO
create table usuarios
(
ID INT NOT NULL,
USUARIO VARCHAR (20)NOT NULL,
SENHA VARCHAR (10)NOT NULL,
CONSTRAINT PKUSUARIOS PRIMARY KEY (ID, USUARIO))
Dessa maneira a tabela tem chave primária de dois campos, então a combinação deles deve ser única, mas atente para o detalhe:
Assim, é possÃvel ter usuários com o mesmo ID desde que o campo usuário seja diferente:
ID - USUARIO
1 - Joao
1 - Paulo
1 - Teresa
2 - Fernando
2 - Marcos
e assim por diante.
PS: Atente para os erros de português, acostume-se a escrever corretamente. Sei que aqui isso não é obrigatório, mas é bom que seja um bom português. O ponto é o seu sistema. Imagine mensagens para o usuário cheias de erros de português? Pega muito mal...
DESCULPE, MAIS NAO SERIA CORRETO TER USUARIOS COM MESMO [Ô]ID[Ô] VOCE NAO ACHA?
GOSTARIA DE COLOCAR USUARIOS COM NOMES E ID DIFERENTE, ACHO QUE SERIA MAIS CORRETO, O QUE VOCE ACHA, COMO FICARIA O CODIGO COM USUARIO E ID DIFERENTES? VOCE PODE ENCREVER PARA QUE EU POSSA VER? OBRIGADO AMIGO;
GOSTARIA DE COLOCAR USUARIOS COM NOMES E ID DIFERENTE, ACHO QUE SERIA MAIS CORRETO, O QUE VOCE ACHA, COMO FICARIA O CODIGO COM USUARIO E ID DIFERENTES? VOCE PODE ENCREVER PARA QUE EU POSSA VER? OBRIGADO AMIGO;
Vou insistir para que entenda o conceito:
Uma chave primária é um campo ou conjunto de campos que serve para unificar cada registro. Quando é um único campo, ele não se repete na tabela. Quando múltiplos campos, a combinação dos dados deve ser única. O que você está querendo é que o valor não se repita no campo em nenhum registro. Isso é a chave primária. Mas se você quer que o valor não se repita em um campo que não é chave primária, esse controle deve ser feito manualmente pela aplicação ou SP que controle a inclusão na tabela.
Como você é iniciante, você deve focar em conceitos antes de sair escrevendo código, reforço isto. Entenda como funciona que você não terá problemas. Código é a parte final e de um certo ponto de vista, quase sem importância, banal, desde que você domine conceitos, dominando conceitos a escrita de código se torna algo até sem graça de tão fácil.
Uma chave primária é um campo ou conjunto de campos que serve para unificar cada registro. Quando é um único campo, ele não se repete na tabela. Quando múltiplos campos, a combinação dos dados deve ser única. O que você está querendo é que o valor não se repita no campo em nenhum registro. Isso é a chave primária. Mas se você quer que o valor não se repita em um campo que não é chave primária, esse controle deve ser feito manualmente pela aplicação ou SP que controle a inclusão na tabela.
Como você é iniciante, você deve focar em conceitos antes de sair escrevendo código, reforço isto. Entenda como funciona que você não terá problemas. Código é a parte final e de um certo ponto de vista, quase sem importância, banal, desde que você domine conceitos, dominando conceitos a escrita de código se torna algo até sem graça de tão fácil.
ok, obrigado pela ajuda.
tente assim
create table usuarios
(
ID INTEGER IDENTITY(1,1) PRIMARY KEY NOT NULL,
USUARIO VARCHAR (20) NOT NULL,
SENHA VARCHAR (10) NOT NULL,
CONSTRAINT PKUSUARIOS UNIQUE (ID, USUARIO)
)
O ID tera a chave primaria e um auto incremento
para fazer a inserção coo o mesmo possui o auto incremento faça a inserção assim
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 1[ô],[ô]123456[ô]);
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 2[ô],[ô]234567[ô]);
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 3[ô],[ô]345678[ô]);
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 4[ô],[ô]456789[ô]);
Espero ter ajudado
create table usuarios
(
ID INTEGER IDENTITY(1,1) PRIMARY KEY NOT NULL,
USUARIO VARCHAR (20) NOT NULL,
SENHA VARCHAR (10) NOT NULL,
CONSTRAINT PKUSUARIOS UNIQUE (ID, USUARIO)
)
O ID tera a chave primaria e um auto incremento
para fazer a inserção coo o mesmo possui o auto incremento faça a inserção assim
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 1[ô],[ô]123456[ô]);
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 2[ô],[ô]234567[ô]);
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 3[ô],[ô]345678[ô]);
INSERT INTO usuarios (USUARIO,SENHA) VALUES ([ô]Teste 4[ô],[ô]456789[ô]);
Espero ter ajudado
Entendi que você não quer que o nome se repita no banco de dados, então além de criar a chave primária (Primary Key) você precisa criar também um Ãndice (Index).
O seu primeiro código está correto, ele criar a tabela e coloca o campo ID como chave primária, agora você precisa criar um Ãndice para o campo USUARIO e definir ele como único (Unique). Quando você for criar o Ãndice tem como escolher essa opção.
Estude um pouco sobre Ãndices, ajuda a melhorar a performance das pesquisas no banco de dados.
Atenciosamente,
Marcelo
O seu primeiro código está correto, ele criar a tabela e coloca o campo ID como chave primária, agora você precisa criar um Ãndice para o campo USUARIO e definir ele como único (Unique). Quando você for criar o Ãndice tem como escolher essa opção.
Estude um pouco sobre Ãndices, ajuda a melhorar a performance das pesquisas no banco de dados.
Atenciosamente,
Marcelo
Faça seu login para responder