Michael, I checked out the lasted code from svn/fpc/trunk/packages/fcl-db/src/datadict and svn/lazarus/trunk/tools/lazdatadesktop.
Everything builds fine and it looks/works a lot better. Although I can now connect to a remote mssql server, I found some problems with the "Run query". Here is a short issue list of the problems I nottice off-hand: 1) It doesn't handle typos or incorrect SQL statement very well. The app presents an uncaught exception error dialog and asks you for permission to terminate lazdatadesktop. 2) It doesn't allow a selected block of text to be run, rather it tries to execute everything in the query window (see also issue #7). 3) It doesn't allow for multiple datasets to be returned. 4) Running "select columns into dest_table from source_table" crashes lazdatadesktop as described in issue #1 5) Running "create database new_database" crashes lazdatadesktop as described in issue #1. 6) It seems to want to return a live editable dataset and you must have to press a stop button before the run query button is enabled again. There should be some option to allow for a query to be run either without being live, or change run to allow it to close then open a new query. 7) I'm not sure how useful the next/previous buttons are. I think most people tend to want to maintain a big script they keep on disk containing "if exists () drop table/procedure/function" followed by a "create table/procedure/function" statement. They don't want a bunch of small SQL clips kept in memory which they use forward and back arrows to navigate. 8) There should be a database selector to allow the user to change databases on connections which support that functionality. To fix: All error messages related to SQL execution issues (table already exists, invalid statements, ect) should be routed to a message area below the script window. In this way a user can examine the message while trying to fix their SQL, rather than having to dismiss a window and trying to remember the details of the error message while trying to fix their SQL. In all cases, users should never be presented with error dialog asking for permission to terminate the app because their SQL is invalid. Create database and database switching need to work. If I have a SQL client/editor which cannot run a "create database" statement, then that editor is broken IMO. Every SQL client/editor where the connection supports multiple databases (mssql, firebird, mysql, postgre) should give users the ability to switch databases without the need to define new connections. Users should be able to see the databases for a given connection and have an easy way to switch the connection to a different database, possible integrated with the "use" SQL command. Multiple dataset return should be supported. My program (at the top of this thread) handles it, along with proper error message handling. I'd say the live/editable dataset thing should be an extra option and not the default, but that's me. Maybe we need a poll on this but I'd be curious to know how many people who are typing end executing SQL prefer to just get results, error messages or a live datagrid? Execution of selected text should be supported.
-- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus