Ir para o conteúdo
crax15

Primeiro e ultimo nome

Mensagens Recomendadas

crax15

Boa tarde a todos estou com uma pequena duvida, será que é possivel saber qual o primeiro e ultimo nome de uma utilizador.

Por exemplo eu tenho na tabela um campo nome(que é o nome completo do utilizador) mas queria saber apenas o primeiro e ultimo nome. É possivel?

Eu encontrei o seguinte codigo:

DECLARE @FullName VARCHAR(100)
SET @FullName ="Joao maria Tibas"
SELECT SUBSTRING(@FullName, 1, CHARINDEX(' ', @FullName) - 1) AS [FirstName],
   REVERSE(SUBSTRING(REVERSE(@FullName), 1, CHARINDEX(' ', REVERSE(@FullName)) - 1)) AS [LastName]

ele resolve e da-me o primeiro e ultimo nome, mas em VB nao concigo po a dar isso

e tenho o seguinte codigo:

Dim nome As String
    ligacao.Open()
    comando.Connection = ligacao
    comando.CommandText = "Select nome from aluno where id = '1'"
    nome = comando.ExecuteScalar
    comando.CommandText = "SELECT SUBSTRING(" & nome & ", 1, CHARINDEX(' ', " & nome & ") - 1) AS [FirstName], REVERSE(SUBSTRING(REVERSE(" & nome & "), 1, CHARINDEX(' ', REVERSE(" & nome & ")) - 1)) AS [LastName]"
	    Dim nome2 As String
    nome2 = comando.ExecuteScalar
    ligacao.Close()
    MsgBox(nome2)

Mas contudo da-me erro, penso que é do comando.executescalar, mas tentei com varios outros e dava o mesmo erro...

se alguem souber me ajudar, aceito.

Desde já obrigado pelo tempo dispendido


Pedro'O

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
crax15

Peço desculpa, mas ja resolvi o problema, para quem necessite deixo aqui o codigo:

Dim nome As String
    Dim nome1 As String
    Dim nome2 As String
    ligacao.Open()
    comando.Connection = ligacao
    comando.CommandText = "Select nome from aluno where id =1"
    nome = comando.ExecuteScalar
    comando.CommandText = "SELECT SUBSTRING('" & nome & "', 1, CHARINDEX(' ', '" & nome & "') - 1) AS [FirstName]"
    nome1 = comando.ExecuteScalar
    comando.CommandText = "Select REVERSE(SUBSTRING(REVERSE('" & nome & "'), 1, CHARINDEX(' ', REVERSE('" & nome & "')) - 1)) AS [LastName]"
    nome2 = comando.ExecuteScalar
ligacao.Close()
    MsgBox(nome1 & " " & nome2)

Obrigado na mesma


Pedro'O

Partilhar esta mensagem


Ligação 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. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.