<snip>
[quoted text, click to view] > OK Jon, that was a lot of info, so I'll try to cover it all. I'm
> coming from a very similar background, C# developer who had to learn
> SQL databases to do some projects.
>
Thanks, I appreciate your time.
[quoted text, click to view] > SQL Express will be good practice for you, but your final product will
> not use it if the server you're connecting to has MySQL. I haven't
> used MySQL before, but it shouldn't be a huge change to your code. You
> will just use a different DataAdapter.
>
Well, I might end up using MS SQL but might not. A book I was reading says
there are some significant differences between the two(well, atleast between
MS SQL and Oracle) but my web host uses MySQL and for now I will probably
use it. I doubt I will end up using advanced functionality as I just need to
store some simple information and have decent security.
[quoted text, click to view] > Now, as for how to create your product. It seems like a web interface
> will be the easiest thing for you. It might not be as familiar as a C#
> application, but it's better suited to your goals. The biggest thing I
> got from your post is you need to balance the effort you're putting
> into this and the functionality you need. You mention very specific
> security needs. To have a user have control over things they add, but
> not have control over items other people add is possible, but it is
> significantly more security work.
What I've been looking at is asp.net and playing around Web Developer but I
had some problems with the server so uninstalled and going to reinstall
soon(when I tried to add an SQL table it would complain that I didn't have
SQL Express installed).
[quoted text, click to view] >
> In SQL Server you have security "groups" and users can join one or
> more groups. So a certain group may have read + write access over one
> table while another group only has read access. I do not know if this
> is how it works in MySQL or not. To accomplish your goal of users
> having access to only certain rows in a table is going to require some
> server-side code outside of the group security to determine if the
> user should be able to access a certain row.
>
Ok, but what is this code? Is it html, javascript, or what? is it SQL
statements that are embedded in the code(Sorta like how I can use SQL in C#
but its just more like a simple wrapper that forwards the SQL statements to
the server)?
[quoted text, click to view] > If you decide to do a C# application instead of a web interface, you
> do not HAVE to create code to run on the server, but in the end it
> will be much more useful. If you don't, then each user who is running
> your app will have to have security access to the instance of SQL
> Server (again, could be different in MySQL). So you would either have
> to have an account in the database for each user, or set up general
> user accounts that the many users share (this can be done in code so
> they wouldn't know their account details). Then in code you would make
> a connection over the net to your database. If instead you're just
> connecting to another app, and that app is handling all the
> connections to the database then the security model is much simpler.
>
Ok. I was thinking about the having to add each user to the SQL database but
that seems like a bad idea?
I guess now I'm confused on how the web interface does this better than what
can be done in C#? Is it just the tools for web design are geared towards
this and so its much easier to do it or is there somethign else involved?
[quoted text, click to view] > ok, I hope that helps. If it doesn't please post some response
> questions. Sorry that I don't know anymore about MySQL, there might be
> some better groups to post MySQL specific questions. Good luck!
>
Yes, it helps some. I'm still a bit confused but its my fault. I wouldn't
worry about MySQL as I'm using MS SQL for now and it won't be for a while
that I do anything with MySQL.
Let me state what I want again so I'm more clear.
I want some interface(web or application) that lets users access a database
of information.
Essentially the only thing I will be doing on the clients computer is
getting files and computing some hashes on them.
Now they will add or delete information to the database and each person will
have there own little "nook" on the database.
For the most part all the information they store can be seen by everyone
else(except specific account details) but others cannot delete there own
information.
So basically I will have a table for each user that contains tables for
there account information and there "orders"(well, information they have
added). But all the orders for all the users will be viewable but editable
by the creater. (Sorta like how you can edit your own messages in a forum
but not others).
I suppose essentially it is analogous to a forum that I'm wanting to create
except the information is different.
Hopefully something like this isn't hard to do and ultimately if I could
trust the users then I would just have an "open" database where people would
just use some nice GUI to wrap SQL statements(instead of requiring everyone
to know SQL) to get at the information in the DB.
My first thought was to use C# to write the application so it would be
client based and I could easily get at the file system. I suppose this is
not to hard with Java or other "web" based interfaces(since I do see it
happen) but I don't have much experience with them and I my code needs to be
client side(don't want to have to upload a file just to compute a hash).
I guess I'm just confused on how to go about it. Right now I'm learning SQL
but I don't understand how it is used in the "real world". I can create a
database and manipulate data using SQL statements and I can easily
understand how to create a UI and just wrap these statements for users but I
do not understand how the security aspect comes into play and if its
something that is done by the SQL Server and I just have to set it up(I know
it has security but I'm not sure if its what I'm suppose to use) or do I
basically create the stuff myself(Can still use the database to store user
information but the "checks" are done outside the SQL Server).
for example, I can imagine how the edit message in a forum might be like.
One dynamically generates the web page, the user clicks on edit, this goes
to some code that checks and see's if the message belongs to the user. It
does this by looking in the database for a relationship between the user and
the message. If there is a relationship then the user has the right to edit
and then it moves onto the edit portion. (the user somehow has to be logged
in which I guess one uses cookies to keep track of that?)
Anyways, thats my take on how that would work but I could be totally off?
Hopefully this makes more sense. I appreciate your time.
Thanks,
Jon