question

TimothyAWiseman avatar image
TimothyAWiseman asked

Learning ASP.NET for a SQL Server DBA

This may be slightly off topic for this site, but it seemed a good place to start. I have a fair bit of experience as a DBA, and I have dabbled with ASP.NET before but only in a very basic sense. Now I find myself being the prime developper for what should be a fairly simple project. I need to create a website with a SQL Backend that tracks trouble tickets. It needs to display all previously entered trouble tickets in a grid with a link to go to a page where the full details can be viewed. I have the database set up, normalized, and basic maintenance automated. That was easy, but now I am struggling with setting up the front end. This has also made me realize that it is time to properly learn ASP.NET or something similar. So, for someone starting as a SQL Server DBA, I am looking for both tutorials that will help me get this initial project off the ground quickly and then for more thorough resources to learn to deal with seb development. Any suggestions?
careerasp.netlearning
5 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

WilliamD avatar image WilliamD commented ·
@Timothy - sorry got mixed up - I didn't mean Codeplex - I meant Codeproject.com. That place is full of examples/tutorials and may help you a little.
1 Like 1 ·
Mark avatar image Mark commented ·
Too bad you can't simply do that in SSRS with a drill-down report. But you probably already considered that.
0 Likes 0 ·
WilliamD avatar image WilliamD commented ·
@Mark - that would be a prime example for a solution. Timothy didn't mention anything about ticket creation, just tracking. @Timothy - are you just tracking tickets (entered in another system)? If so, then maybe SSRS would be the way to go. If not, have you tried somewhere like CodePlex - that place is chock full of tutorials/examples of simple apps like you have described.
0 Likes 0 ·
TimothyAWiseman avatar image TimothyAWiseman commented ·
@Mark, They need to be able to edit as well as view the tickets. I should have clarified that, but I wasn't overly worried about that part since I figured out how to handle updates. It is being able to present a simple menu for them to pick the right record to update that is giving me problems. @WilliamD, you are right, I should have mentioned that I need to do creation too. But I already have that part working. I will check out codeplex and see if I can find something useful, but when I looked before it seemed, much like Google Code, more useful for people that already knew what they were doing instead of someone who has barely started learning like me. Thanks.
0 Likes 0 ·
TimothyAWiseman avatar image TimothyAWiseman commented ·
Thank you to everyone. I am still working on formatting issues, but the funcional code (at least a working draft) is now done and this will go into internal use next week. As suggested, I found 4 Guys from Rolla, asp.net, and of course MSDN tremendously helpful. It seems like it took me longer to get to this point then it should have, but I am there now. I never found one single tutorial that gave me what I wanted (which I thought was surprising given how basic and common this would seem to be), but thanks to everyone's advice I found enough to hack together what I needed. I will have to actually learn C# and asp.net soon, but for now this project is working.
0 Likes 0 ·
Oleg avatar image
Oleg answered
If you developed Windows apps before then ASP.NET will initially be a shocker due to the stateless nature of the HTTP protocol. Ajax, Silverlight, WPF add a lot of noise and to try to cover this simple fact, but it cannot be hidden, the protocol is stateless. The good news is that it is extremely easy to very quickly get up to speed with creating professionally looking presentation layer, much easier than with WinForms or even WPF. I think that many people will agree with this simple approach to find the best books on the subject: look for Apress books. Many are written by ex-Wrox guys, so essentially, Apress and Wrox offer the same quality. Within those books, look for as few faces/author names as possible. If you see one name then the odds are that the book is great, if you see too many faces/author names then the book is terrible. If you know almost nothing about the subject, read Beginning series, otherwise opt for Professional. Beginning series can be somewhat misleading as they are not really for beginners, I mean you can still learn a great deal from them. For the reasons above, [this book by Matthew MacDonald][1] tends to stand out as a very decent choice. From the web resources, I really like [4 Guys from Rolla][2]. [ asp.net][3] site is a decent resource as well. This site could be a good resource as well. This is true that many contributors are DBAs, but in nowadays it is not really possible to be a classic DBA who only works with databases, so we do have guys who are very good ASP.NET experts (consider, for example, [Matt Whitfield's site][4]). We also have a plenty of devs and .NET junkies here, myself included :) Just my 2 cents. Oleg [1]: http://www.amazon.com/Beginning-ASP-NET-3-5-2008-Professional/dp/1590598911/ref=sr_1_1?s=books&ie=UTF8&qid=1290109098&sr=1-1 [2]: http://www.4guysfromrolla.com/ [3]: http://www.asp.net/ [4]: http://www.atlantis-interactive.co.uk/default.aspx
2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Oleg avatar image Oleg commented ·
This is actually ***very good*** news, you can start clean without feeling sorry about how much easier some of the things are in Windows than in web development. The most primitive design to have data displayed and editable per record is that if you have a grid displaying data then the code to talk to the database should only take place if the page is initially loaded, and not when it is posted back to itself. One of the columns of the grid can be formatted as URL to hold some reference to unique ID of the underlying record. Clicking the hyperlink opens new page (form) displaying the record vertically with column data in editable text boxes rather than horizontally like it was in the grid. The save button (when clicked) submits the edited data, the code behind page talks to the data store to update the record and then redirect the flow back to the original page which displays the grid. Because the latter is simply requested (not posted back) it talks to the data store to retrieve the data to be displayed in the grid, and so displays updated records. There are other, much slicker ways to design the flow, this one is bare bones basic and is easy to implement.
2 Likes 2 ·
TimothyAWiseman avatar image TimothyAWiseman commented ·
Thanks. Sadly, I have done very little .NET windows development. My main job is as a DBA. While I do a fair bit of hobby programming, its hardly a secret that I do all of my hobby programming and even a fair bit of my work related programming in Python.
0 Likes 0 ·
Fatherjack avatar image
Fatherjack answered
Its been a while since I used ASP.Net and needed to look for assistance (mainly as the dev work I have been doing is VERY low level) but these guys have helped me from the days of Classic ASP onwards - http://www.4guysfromrolla.com/
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Magnus Ahlkvist avatar image
Magnus Ahlkvist answered
I have - before finding ASL SSC - been active in the SQL Server related discussion forums over at [** www.asp.net**][1]. I think that's a very good resource, with tutorials from entry level and on. Forums are active and you'll quickly get response to questions. Lots of walk-through video material etc. [1]: http://www.asp.net
1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

TimothyAWiseman avatar image TimothyAWiseman commented ·
www.asp.net has been tremendously helpful. Thank you.
0 Likes 0 ·
Matt Whitfield avatar image
Matt Whitfield answered
Oleg, as usual, has an excellent answer. But one option to give you a good head start might be to use something like [IronSpeed][1] to generate the app layer, and have a look and learn. Personally I always work better by learning from example - so IronSpeed would give you something whereby you would have an example to learn from. I probably wouldn't suggest actually using it, just using it to generate you an example. [1]: http://ironspeed.com/
2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Oleg avatar image Oleg commented ·
@Matt Whitfield I love it:
I probably wouldn't suggest actually using it
IronSpeed is kinda the opposite to the sp_MSforeachdb. You can use the latter if you really have to, but as they suggest at Microsoft "just don't look how it is implemented". The former is OK to try to see what it has generated and learn from it, but I would not use it anywhere near the actual web applications I develop. I have to admit though that IronSpeed is very good for shiny sales presentations, when someone needs to fool someone else into thinking that web development is a snap :)
1 Like 1 ·
Matt Whitfield avatar image Matt Whitfield ♦♦ commented ·
@Oleg - yeah, that was exactly the impression I got. I guess it's OK if you want to implement all your business logic in triggers... (!)
0 Likes 0 ·
David Clarke avatar image
David Clarke answered
Obviously having a strong database background it would probably make more sense to start with something like Microsoft's Dynamic Data Web. There's plenty of info on the interweb, e.g. from a quick google. Point it at your ORM (LinqToSql, EF) and press the go button. What you will get out of the box is some website scaffolding that gives you a running application right away based on your data model. From there you can customise and add custom pages if required. I may be preaching to the converted but the other important thing you need is good source control and regular snapshots to ensure you can always get back to a last known good.
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.