question for my new project
-
Hello all, I hope its the correct forum for my question.. I need some advices from your side for a new project. In the past I wrote a mediaplayer in vb.net and its using a MS access database (.mdb) to store some data from the songs I scanned in my player. (for the metadata, duration, rating and so on) Now I decided to rewrite my project in C# and I think for a new database solution, as well. My first idea was mySQL. (got no experience so far) but it read that its not a local database (only if you use the localhost as server, correct me if I'm wrong) That means that my player isn't portable to other computers, right? Another idea was XML.(also only low experience) Is it possible for me to work with SQL statements in it? How fast is XML? (compared to mySQL and MS Access) ----------------------- Here are some background information for you: at the moment I work with one table which is in my database. I tested with around 90000 datarecords and for each record I use 7 columns. (path, metadata, duration etc) to achieve a good speed during the program runs I read ALL datarecords in one array which I use in the prog instead of reading the database the whole time. one function is a "live-search" which directly returns all matching records from the database depending on the pattern you enterd in a textbox. --- okay, now I need only a tip which kind of LOCAL database I should use. best regards turion
-
Hello all, I hope its the correct forum for my question.. I need some advices from your side for a new project. In the past I wrote a mediaplayer in vb.net and its using a MS access database (.mdb) to store some data from the songs I scanned in my player. (for the metadata, duration, rating and so on) Now I decided to rewrite my project in C# and I think for a new database solution, as well. My first idea was mySQL. (got no experience so far) but it read that its not a local database (only if you use the localhost as server, correct me if I'm wrong) That means that my player isn't portable to other computers, right? Another idea was XML.(also only low experience) Is it possible for me to work with SQL statements in it? How fast is XML? (compared to mySQL and MS Access) ----------------------- Here are some background information for you: at the moment I work with one table which is in my database. I tested with around 90000 datarecords and for each record I use 7 columns. (path, metadata, duration etc) to achieve a good speed during the program runs I read ALL datarecords in one array which I use in the prog instead of reading the database the whole time. one function is a "live-search" which directly returns all matching records from the database depending on the pattern you enterd in a textbox. --- okay, now I need only a tip which kind of LOCAL database I should use. best regards turion
SQL Server has several editions. Most of them are used as centralized installations so that the data resides only on the database server and the client applications connect to the serve in order to fetch and manipulate the data. This way all of the clients share the same data. However there is also a standalone edition, Compact edition, which is very lightweight and designed for single user scenarios. Based on the requirements you wrote, this sounds like potentially good choice for you. Have a look at: SQL Server Compact...[^]
-
Hello all, I hope its the correct forum for my question.. I need some advices from your side for a new project. In the past I wrote a mediaplayer in vb.net and its using a MS access database (.mdb) to store some data from the songs I scanned in my player. (for the metadata, duration, rating and so on) Now I decided to rewrite my project in C# and I think for a new database solution, as well. My first idea was mySQL. (got no experience so far) but it read that its not a local database (only if you use the localhost as server, correct me if I'm wrong) That means that my player isn't portable to other computers, right? Another idea was XML.(also only low experience) Is it possible for me to work with SQL statements in it? How fast is XML? (compared to mySQL and MS Access) ----------------------- Here are some background information for you: at the moment I work with one table which is in my database. I tested with around 90000 datarecords and for each record I use 7 columns. (path, metadata, duration etc) to achieve a good speed during the program runs I read ALL datarecords in one array which I use in the prog instead of reading the database the whole time. one function is a "live-search" which directly returns all matching records from the database depending on the pattern you enterd in a textbox. --- okay, now I need only a tip which kind of LOCAL database I should use. best regards turion
I'm with Mika on this, SQL Compact would probably be you best choice, there are many other and performance is not going to be an issue. There is probably more support and resources available for MS products than any other.
Never underestimate the power of human stupidity RAH
-
Hello all, I hope its the correct forum for my question.. I need some advices from your side for a new project. In the past I wrote a mediaplayer in vb.net and its using a MS access database (.mdb) to store some data from the songs I scanned in my player. (for the metadata, duration, rating and so on) Now I decided to rewrite my project in C# and I think for a new database solution, as well. My first idea was mySQL. (got no experience so far) but it read that its not a local database (only if you use the localhost as server, correct me if I'm wrong) That means that my player isn't portable to other computers, right? Another idea was XML.(also only low experience) Is it possible for me to work with SQL statements in it? How fast is XML? (compared to mySQL and MS Access) ----------------------- Here are some background information for you: at the moment I work with one table which is in my database. I tested with around 90000 datarecords and for each record I use 7 columns. (path, metadata, duration etc) to achieve a good speed during the program runs I read ALL datarecords in one array which I use in the prog instead of reading the database the whole time. one function is a "live-search" which directly returns all matching records from the database depending on the pattern you enterd in a textbox. --- okay, now I need only a tip which kind of LOCAL database I should use. best regards turion
turion87 wrote:
Another idea was XML.(also only low experience) Is it possible for me to work with SQL statements in it?
It's possible, but it would require third party libraries AFAIK.
turion87 wrote:
How fast is XML? (compared to mySQL and MS Access)
Not fast at all, we're talking unindexed text parsing here.
turion87 wrote:
okay, now I need only a tip which kind of LOCAL database I should use.
For the best support you should probably go for SQLServer as the other have suggested. For a small footprint, easy distribution and portability, I would have a look at SQLite, just add one library and one datafile.
Wrong is evil and must be defeated. - Jeff Ello
-
Hello all, I hope its the correct forum for my question.. I need some advices from your side for a new project. In the past I wrote a mediaplayer in vb.net and its using a MS access database (.mdb) to store some data from the songs I scanned in my player. (for the metadata, duration, rating and so on) Now I decided to rewrite my project in C# and I think for a new database solution, as well. My first idea was mySQL. (got no experience so far) but it read that its not a local database (only if you use the localhost as server, correct me if I'm wrong) That means that my player isn't portable to other computers, right? Another idea was XML.(also only low experience) Is it possible for me to work with SQL statements in it? How fast is XML? (compared to mySQL and MS Access) ----------------------- Here are some background information for you: at the moment I work with one table which is in my database. I tested with around 90000 datarecords and for each record I use 7 columns. (path, metadata, duration etc) to achieve a good speed during the program runs I read ALL datarecords in one array which I use in the prog instead of reading the database the whole time. one function is a "live-search" which directly returns all matching records from the database depending on the pattern you enterd in a textbox. --- okay, now I need only a tip which kind of LOCAL database I should use. best regards turion
I would go for something like SQLite[^]. The beauty of SQLite it that your database and the sql engine are all contained within one file. What I would also do is archive the data to xml as a backup for the sake of your sanity and hard work of inputting the data - an archive on each closing of the application, to a file with a datestamp within its name, is the way I tend to handle things with a deletion of old xml files every 30 days.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens