connection string

gmorken
gmorken Member Posts: 38
Hello,
I´m writing an odbc connection in c#.net
I am able to connect to nav.database but I'm getting an exception on the connectin string. The string looks like this.

command.CommandText = "SELECT Artikeltransaktion.Artikelnr, SUM(Artikeltransaktion.Återstående Antal) "
+ "FROM Artikeltransaktion "
+ "WHERE (Artikeltransaktion.Lagerställekod='LID') AND (Artikeltransaktion.Öppen=1) "
+ "GROUP BY Artikeltransaktion.Artikelnr "
+ "ORDER BY Artikeltransaktion.Artikelnr";

The compiler doesnt like the blankspace in Återstående Antal.
How can I write this string instead?

Regards

Comments

  • danlindstrom
    danlindstrom Member Posts: 130
    Are you using NODBC and is license open for ODBC?

    If using NODBC:
    Swedish chars has to be typed with ASCII (DOS) not ANSI (windows)

    SELECT Fakturahuvud.Nr, Fakturahuvud."Bokf”ringsdatum", Fakturahuvud."F”rfallodatum"
    FROM Fakturahuvud Fakturahuvud

    Create the query in MSQuery from Excel, it helps you with the syntax
    Regards
    Dan Lindström
    NCSD Navision 2.00 since 1999 (Navision Certified Solution Developer)
    MBSP Developer for Microsoft Dynamics NAV 2009
  • gmorken
    gmorken Member Posts: 38
    its not complaining about the swedish chars. its the blankspaces that is the problem.

    My code looks like this.
    private void button1_Click_1(object sender, EventArgs e)
    {
    OdbcConnection myConn = new OdbcConnection(myConnection);
    myConn.Open();

    OdbcCommand command = myConn.CreateCommand();
    string temp = "Återstående antal";
    command.CommandText = "SELECT Artikeltransaktion.Artikelnr, SUM(Artikeltransaktion.Återstående Antal) " // HERES THE PROBLEM
    + "FROM Artikeltransaktion "
    + "WHERE (Artikeltransaktion.Lagerställekod='LID') AND (Artikeltransaktion.Öppen=1) "
    + "GROUP BY Artikeltransaktion.Artikelnr "
    + "ORDER BY Artikeltransaktion.Artikelnr";


    label3.Text = command.CommandText;
    OdbcDataReader rdr = command.ExecuteReader();
    while (rdr.Read())
    {
    listBox1.Items.Add(rdr.GetString(0));
    listBox1.Items.Add(rdr.GetString(1));

    }
    int i = listBox1.Items.Count;
    label5.Text = i.ToString();
    myConn.Close();

    }

    The problem is
    Artikeltranskaktion.Återstående antal
    This works
    Artikeltransaktion.Antal

    I suppose its the blankspaces.
  • lubost
    lubost Member Posts: 633
    Try to enclose these field names to brackets like []
  • gmorken
    gmorken Member Posts: 38
    do you mean like
    Artikeltransaktion.[Återstående antal]

    ?