Mattia,
I haven't tried this under 4.2, but when the book was written, the data readers 
did not work in the emulator under the 4.0x versions we tested with at the 
time, but worked in every physical device that we tested against.  The joys of 
the emulator.
Wally

Date: Fri, 18 May 2012 13:12:04 +0200
From: [email protected]
To: [email protected]
CC: [email protected]
Subject: Re: [mono-android] SQLite error


  
    
  
  
    Hello Wally,

    

    thanks for the quick response. 

    

    
      
        
          
            On that specific example, there should be another button
              on that form.  IIRC, the other button should insert some
              data into the table.  When I get down to my office, I'll
              verify this.
          
        
      
    
    Yes there is a button and it completes the DB creation and sample
    data insertion with success, so that part works.

    The problem is with the second button that should fetch the data
    with a datareader.

    

    What I don't understand is why I can follow the debug until the
    "while (sdr.Read())" line, and then clicking F10 the debug jumps at
    the end of the file... without rising any error, even if it's in the
    try/catch block.

    I tried both in emulator and in real device.

    

    Debug should work, because there is a third button that connects to
    a SQLServer DB, that fails correctly during the connection in its
    try/catch block.

    

    Thanks,

    Mattia

    

    
      
        
          
            You should be able to create a DB and store it in the
              assets directory.  When the application is first deployed
              and run, you can copy the db file out.  I haven't done
              this, but you "should" be able to do this.  I'm a db guy
              at heart, so sql commands are easy to put together for me,
              plus I like to use them when I update apps.
            Accessing the db remotely is way more complicated than
              we are used to with VS.  You can use adb to connect to the
              db, but you have to have the device.  I'm sure that there
              are higher level tools that you can use, but I am not
              aware of them.
          
          

          
          Wally
        

          > Date: Fri, 18 May 2012 03:35:23 -0700

            > From: [email protected]

            > To: [email protected]

            > Subject: [mono-android] SQLite error

            > 

            > Hello,

            > 

            > I'm having this problem with the sample code of the
            wrox book "Pro Android

            > programming with Mono for Android", InternalNetworkData
            sample.

            > First it creates a DB and fills it with data, with
            success, then tries to

            > read the data with a SqliteDataReader.

            > I tried to debug it and when it gets to the line "while
            (sdr.Read())" the

            > debug line jumps to the end of the file, no errors, and
            non processing,

            > application stil running, and I can press the button to
            get the data again.

            > What's wrong? with the code and with my debug that
            can't get the error.

            > 

            > string DatabaseName = "UserData.db3";

            > string documents = System.Environment.GetFolderPath(

            > System.Environment.SpecialFolder.Personal);

            > string db = Path.Combine(documents, DatabaseName);

            > var conn = new SqliteConnection("Data Source=" + db);

            > var strSql = "select Name from Customer where
            STATEID=@STATEID";

            > var cmd = new SqliteCommand(strSql, conn);

            > cmd.CommandType = CommandType.Text;

            > cmd.Parameters.Add(new SqliteParameter("@STATEID", 2));

            > 

            > tv.Text = "";

            > 

            > try

            > {

            > conn.Open();

            > SqliteDataReader sdr = cmd.ExecuteReader();

            > while (sdr.Read())

            > {

            > tv.Text = Convert.ToString(sdr["Name"]);

            > }

            > }

            > catch (System.Exception sysExc)

            > {

            > tv.Text = sysExc.Message;

            > }

            > finally

            > {

            > if (conn.State != ConnectionState.Closed)

            > {

            > conn.Close();

            > }

            > conn.Dispose();

            > 

            > }

            > 

            > 

            > By the way, is there a way with a thirdy part software
            or even with vs to

            > create a sqlite DB and deploy it with the application?
            and maybe even to

            > access the sqlite DBs in the connected device? asking
            too much?

            > 

            > Thanks!

            > Mattia

            > 

            > --

            > View this message in context:
http://mono-for-android.1047100.n5.nabble.com/SQLite-error-tp5709898.html

            > Sent from the Mono for Android mailing list archive at
            Nabble.com.

            > _______________________________________________

            > Monodroid mailing list

            > [email protected]

            > 

            > UNSUBSCRIBE INFORMATION:

            > http://lists.ximian.com/mailman/listinfo/monodroid

          
        
      
                                          
_______________________________________________
Monodroid mailing list
[email protected]

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to