Chamuanza Posted May 3, 2009 at 07:36 AM Report #260959 Posted May 3, 2009 at 07:36 AM Oi Pessoal O que e que esta mal no select para dar o erro Incorrect syntax near '#'. Em qualquer dos dois Selects me dá o mesmo erro Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click ' Declaração de variáveis privadas Dim da As SqlDataAdapter Dim ds As DataSet ' Texto de ligação à base de dados Dim myConnectionString As String = _ "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Utilizador\" & _ "My Documents\BalancoFamiliar.mdf;" & _ "Integrated Security=True;Connect Timeout=30;User Instance=True" ' Cria uma nova ligação à base de dados Dim connection As New SqlConnection(myConnectionString) ' Cria um novo SqlDataAdapter que servirá para actualizar o DataSet Dim SQL As String = "SELECT Id,Data,Despesa,Designacao [Designação],Categoria,SubCategoria,Familia FROM Principal Where Despesa Between #" & DateTimePicker1.Value.ToShortDateString() & "# And #" & DateTimePicker2.Value.ToShortDateString() & "#" ' Dim SQL As String = "SELECT Id,Data,Despesa,Designacao [Designação],Categoria,SubCategoria,Familia FROM Principal Where Despesa = #2009 - 04 - 08# " da = New SqlDataAdapter(SQL, connection) ' Cria um novo DataSet, ou seja, uma representação em memória da informação ds = New DataSet ' Coloca a informação da tabela definida no DataSet da.Fill(ds, "Principal") ' Define que a fonte de dados da DataGridView é a nossa DataSet ' criando automáticamente as colunas e linhas de dados Me.DataGridView1.DataSource = ds.Tables("Principal") ' Limpa a ligação à base de dados. Não é necessário fechar a ligação ' porque esta não foi aberta através do comando .Open() connection = Nothing Call ControlaGrid() End Sub Desde já Obrigado pela atenção
jpaulino Posted May 3, 2009 at 08:28 AM Report #260961 Posted May 3, 2009 at 08:28 AM Porque não usas parameters ? Defines a connection string com os parametros e depois podes fazer, por exemplo, a seguir a: da = New SqlDataAdapter(SQL, connection) O seguinte: da.SelectCommand.Parameters.Add("@parametro",SqlDbType.DateTime).Value = ...
Chamuanza Posted May 3, 2009 at 09:57 AM Author Report #260964 Posted May 3, 2009 at 09:57 AM Podes pegar no meu código e dar-me um exemplo, nãoestou muito a vontade com essa dos parametros Obrigado pela atenção
jpaulino Posted May 3, 2009 at 10:37 AM Report #260965 Posted May 3, 2009 at 10:37 AM Podes pegar no meu código e dar-me um exemplo, nãoestou muito a vontade com essa dos parametros E já te dei um exemplo! Se não sabes pesquisas, como por exemplo http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.selectcommand.aspx
Chamuanza Posted May 3, 2009 at 10:54 AM Author Report #260967 Posted May 3, 2009 at 10:54 AM Ok Obrigado
Chamuanza Posted May 3, 2009 at 05:04 PM Author Report #261024 Posted May 3, 2009 at 05:04 PM 😁 Já dei a volta a situação 'Converte a data e retira os carecteres a direita Dim DataInicio = Convert.ToString(DateTimePicker1.Value) DataInicio = DataInicio.Remove(10, 9) Dim DataFim = Convert.ToString(DateTimePicker2.Value) DataFim = DataFim.Remove(10, 9) no select foi assim Dim SQL As String = "SELECT Id,Data,Despesa,Designacao [Designação],Categoria,SubCategoria,Familia FROM Principal Where Data Between '" & DataInicio & "' And '" & DataFim & "'"
jpaulino Posted May 3, 2009 at 05:51 PM Report #261027 Posted May 3, 2009 at 05:51 PM E porque não fizeste como te disse ? Dim SQL As String = "SELECT Id,Data,Despesa,Designacao [Designação],Categoria,SubCategoria,Familia FROM Principal Where [Data] Between @DataInicio And @DataFim" e depois: da = New SqlDataAdapter(SQL, connection) da.SelectCommand.Parameters.Add("@DataInicio", SqlDbType.DateTime).Value = DateTimePicker1.Value da.SelectCommand.Parameters.Add("@DataFim", SqlDbType.DateTime).Value = DateTimePicker2.Value Mostei-te quase tudo só faltava leres e testares 😉
Chamuanza Posted May 3, 2009 at 07:49 PM Author Report #261043 Posted May 3, 2009 at 07:49 PM Oi Obrigado pela atenção de modo geral só recorro a perguntar quando já estou demasiado confuso (face aos poucos conhecimentos que tenho), no entanto tinha a ideia que o problema estava principalmente no posicionamento das plicas, e como retornava a data para o select, e vou tentando sempre, até para perceber o porquê dos erros De qualquer das maneiras fico com a informação, que vou aplicar na mesma aplicação com outros select's
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