crax15 0 Posted May 22, 2013 Report Share Posted May 22, 2013 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 Link to post Share on other sites
crax15 0 Posted May 22, 2013 Author Report Share Posted May 22, 2013 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 Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now