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?
more ▼

asked Nov 18, 2010 at 11:31 AM in Default

TimothyAWiseman gravatar image

15.6k 21 23 32

Too bad you can't simply do that in SSRS with a drill-down report. But you probably already considered that.
Nov 18, 2010 at 11:35 AM Mark

@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.
Nov 18, 2010 at 11:46 AM WilliamD

@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.

Nov 18, 2010 at 12:22 PM TimothyAWiseman
@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.
Nov 19, 2010 at 01:09 AM WilliamD

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.
Nov 19, 2010 at 02:57 PM TimothyAWiseman
(comments are locked)
10|1200 characters needed characters left

5 answers: sort voted first

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 tends to stand out as a very decent choice.

From the web resources, I really like 4 Guys from Rolla. asp.net 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.


[4]: http://www.atlantis-interactive.co.uk/default.aspx
more ▼

answered Nov 18, 2010 at 12:22 PM

Oleg gravatar image

15.9k 2 4 24

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.
Nov 18, 2010 at 12:37 PM TimothyAWiseman

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.
Nov 18, 2010 at 12:59 PM Oleg
(comments are locked)
10|1200 characters needed characters left
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/
more ▼

answered Nov 19, 2010 at 01:18 AM

Fatherjack gravatar image

Fatherjack ♦♦
42.8k 75 79 108

(comments are locked)
10|1200 characters needed characters left

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
more ▼

answered Nov 19, 2010 at 01:23 AM

Magnus Ahlkvist gravatar image

Magnus Ahlkvist
16.6k 17 20 33

www.asp.net has been tremendously helpful. Thank you.
Nov 19, 2010 at 02:54 PM TimothyAWiseman
(comments are locked)
10|1200 characters needed characters left

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/
more ▼

answered Nov 19, 2010 at 02:45 AM

Matt Whitfield gravatar image

Matt Whitfield ♦♦
29.5k 61 65 87

@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 :)
Nov 19, 2010 at 07:41 AM Oleg
@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... (!)
Nov 19, 2010 at 12:54 PM Matt Whitfield ♦♦
(comments are locked)
10|1200 characters needed characters left

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. http://weblogs.asp.net/scottgu/archive/2007/12/14/new-asp-net-dynamic-data-support.aspx 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.
more ▼

answered Nov 22, 2010 at 11:23 AM

David Clarke gravatar image

David Clarke

(comments are locked)
10|1200 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

SQL Server Central

Need long-form SQL discussion? SQLserverCentral.com is the place.



asked: Nov 18, 2010 at 11:31 AM

Seen: 2409 times

Last Updated: Nov 18, 2010 at 11:31 AM