Hi all,

I develop application in C# that has to run with MySQL and SQLite. 
At some point I need to join 2 tables and bind them resp. dataset containing 
the union to ListBox.

To do this I use aliasing for table names. My SQL-statement looks like this:
SELECT distinct(m.name), wp.MaterialSN from WorkDefaultsMaterial wp, Material m 
WHERE m.ShortName = wp.MaterialSN AND wp.WorkSN='bla-bla' order by m.name

If I use MySQL, then the column names are just names of columns in each table 
with out alias, e.g. MaterialSN. If I use SQLite, then the column names starts 
with alias, e.g. wp.MaterialSN.

So that if I bind the dataset to ListBox, in case where I use SQLite,  I get an 
error : 

"Cannot bind to the new display member.
Parameter name: newDisplayMember"

The reason for this error is following: 

the column name ist wp.MaterialSN. In C# , if one binds a field/column  the dot 
means that the part before it is a table name and part after column name. So c# 
looks for the table wp in dataset. This is however not present :-). 

If I use MySQL, my application works fine, as the column names do not contain 
alias.

I can surely rewrite my SQL-statement to SELECT distinct(m.name) as name, 
wp.MaterialSN as MaterialSN ... to obtain column names in needed format. 
However in my opinion it is not a good solution to do it. 

Is there a possibility to configure SQLite so that aliases are omitted and only 
column names are used?

The strange thing is, that my application worked already with SQLite. And now 
as I had to make some changes it become this strange behavior.

Any idea why?



Best regards



Evgeni



 



I can surely rewrite
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to