Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
OleDB syntax with a Selected date Field
Message
De
22/11/2012 09:53:10
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01557578
Message ID:
01557816
Vues:
44
Gerard

This works here:
 OleDbCommand oCommX = new OleDbCommand();
      //string oConnX = @"Provider=VFPOLEDB.1; Data Source=" + @"C:\DISA\DIS2012";
      string oConnX = @"Provider=VFPOLEDB.1; Data Source=" + @"C:\apps\safesoun\pro6\acdata";
      string oSelX = "Select * from stores01 WHERE adddate <= ? ";
      DateTime dtX = DateTime.Now;
      OleDbDataAdapter oDaX = new OleDbDataAdapter(oSelX, oConnX);
      oDaX.SelectCommand.Parameters.Add("@MyDate", OleDbType.Date).Value = dtX;
      DataSet oDsX = new DataSet();
      oDaX.Fill(oDsX);
</pre?



>Hi BIll
>Tried that 
>
>oCommX.Parameters.Add(new OleDbParameter("@MyDate", dtX));
>
>Same result I'm afraid (no value given for one or more required parameters)
>regards,
>Gerard
>
>
>
>>Gerard
>>Try changing this:
>>oCommX.Parameters.Add(new OleDbParameter("?MyDate ", dtX));
>>
>>to 
>>
>>this:
>>oCommX.Parameters.Add(new OleDbParameter("@MyDate ", dtX));
>>
>>Confusing, but when you add it you use "@" and when you use it, you use "?"
>>
>>
>>
>>><pre>
>>>Hi Bill. My code is below:
>>>
>>> OleDbCommand oCommX = new OleDbCommand();
>>> string oConnX = @"Provider=VFPOLEDB.1; Data Source=" + @"C:\DISA\DIS2012";
>>> string oSelX = "Select AAP_TITLE from DFAAP WHERE AAP_DATEBR >= ? ";
>>> DateTime dtX = DateTime.Now;
>>> oCommX.Parameters.Add(new OleDbParameter("?MyDate ", dtX));
>>>OleDbDataAdapter oDaX = new OleDbDataAdapter(oSelX, oConnX);
>>>DataSet oDsX = new DataSet();
>>>oDaX.Fill(oDsX);
>>>
>>>If I Change the where clause to 1=1, rows are selected fine
>>>The AAP_DATEBR is a Date Field in a DBF thats part of a .DBC
>>>
>>>
>>>
>>>
>>>
>>>>>
>>>>>Hi Borislav
>>>>>=======================================================
>>>>>string oSel = "Select Myfield1,MyDate from MYTable WHERE MyDate <= ? ";
>>>>>DateTime dt = DateTime.Now;
>>>>>oComm.Parameters.Add(new OleDbParameter("?MyDate ", dt));
>>>>>=======================================================
>>>>>
>>>>>Still get a message: No value given for one or more required parameters
>>>>>Beginnig to think that maybe you cannot use parameters with OleDb and Foxpro and a Date Field and maybe I have to change 
>>>>> to stringing in everything (and I know..leave it open to Sql Injection etc )
>>>>>What do you think ?
>>>>>Have you yourself ever got OLEDB with a Date Parameter to work ?
>>>>>
>>>>>Regards,
>>>>>Gerard
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>>Hi Borislav.
>>>>>>>Yes I have seen Ricks link but nowhere do I see an example with a DATE in the parameter
>>>>>>>Regards,
>>>>>>>Gerard
>>>>>>
>>>>>>
>>>>>>string oSel = "Select Myfield1,MyDate from MYTable WHERE MyDate <= ? ";
>>>>>>DateTime dt = DateTime.Now;
>>>>>>oComm.Parameters.Add(new OleDbParameter("?MyDate ", dt));
>>>>>>
>>>>>>
>>>>>>?
>>>>
>>>>Gerard
>>>>
>>>>It might help to show all your code, including the code executing the command
Anyone who does not go overboard- deserves to.
Malcolm Forbes, Sr.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform