|
|
I've been using Safari Books Online for several years now. They have a large selection of C# books as well as Visual Studio, SQL Server, Oracle and almost any other technical subject. You can compare books, search particular topics and copy code from the books into your projects. They have several plans, but the full access lets you ready any book they have and includes training videos. The monthly cost of the full plan is less than most computer books.
|
|
|
|
|
Hi HelfDane,
Please note this alleged quote from a direct message from AppDev: re what they provide that LearnDevNow does not: (link to where I found this on request):
"LearnNow, LLC (owner of http://www.learndevnow.com) is a separate, Internet-only, company that has an exclusive reselling arrangement with AppDev. LearnNow, LLC only licenses our streaming media and sample files. They do not have access to our written courseware, hands on labs, the AppDev Edge site, AppDev support, etc… Those are the reasons for the difference in price; however they are definitely an official reseller and are legit."
First, I'm going to assume that all your programmers, independent of location, will be using materials in English: if that assumption is incorrect: just disregard what follows except for your English reading folks, please.
Second: I think you need to narrow the range of what you are looking for here: are your employees going to be morphing from Delphi to exactly what in the "NET.verse" ? ... ASP.NET, WPF, SilverLight, Win Phone 7 development, Windows Forms, websites using new initiatives from MS like "Matrix," ... or ... ? Are they doing server-side, client-side, or doing both ? If either-side, within ASP-whatever-flavour, are they going to plunge for MVVM, or the latest monster framework, named by a set of varying initials, between two "M's," from MS (at least "Matrix" doesn't have two "M's.") ?
Are they going to be heavily oriented to the "newer" .NET C# programming style "creeping over" from F#, and other "functional languages," using 'dynamic,' 'var,' LINQ==>everything, and, everything==>LINQ ?
If what they are doing now involves a lot of XML, you might evaluate what that means in terms of their willingness, and ability, the costs/benefits, etc., of their coming up to speed with XAML, essential to WPF and SilverLight.
Third, I'm going to argue that buying your programmers carefully selected latest version C# books by Jesse Liberty, Matthew McDonald, Jon Skeet, Andrew Troelsen, Chris Sells, and getting them up to speed on using CodeProject and StackOverFlow as self-education tools, and vast resources of code examples, tutorials, in-depth discussions of the warts, and the glories, of MS Tools and technologies, etc. : is a better investment than these on-line video subscription services (of course many of these books can be bought, for less, as PDF files ... and I bet you could get a discount from publishers if you bought ten copies each). This recommendation certainly reflects my bias that you learn more from intense concentration studying a book coupled with hands-on coding experiments, and prototyping, than watching video.
imho there is no better resource anywhere for educating yourself re .NET and C# than CodeProject !
And StackOverFlow, a different paradigm, a different paradise, imho, is just as valuable. On StackOverFlow, not only will you find that one-of-a-kind "Mt. Everest" of the C# and .NET universe, Jon Skeet, but also luminaries like Marc Gravell, a virtual one-man encyclopedia of .NET and C#, who make comments, and long replies, often with working code examples, worth their "weight in gold." His comments are so frequent I wonder when he sleeps, if ever !
Plus, you've got excellent blogs coming from the many MS MVP's, many active here on CP, publishing articles, and so generously contributing their time in responses to others' articles, and in response to questions, etc. To mention only two of these remarkably generous MVP guides participating here: the phenomenal Luc Pattyn, and the ever-responsive, all round .NET guru, and Exalted Sublime Mage of the WPF Disciples, Pete O'Hanlon.
Then you've got the really excellent blogs from MS employees that range from top-down, broad-overview, vision of .NET's future (like Scott Guthrie's great blogs), to advanced technical explorations with invaluable examples (I'm thinking of Eric Lippert 's blogs, here, in particular, from which I have learned so much).
Lastly, depending on how vital to your company's future this transition is, and the resources you have on hand: I'd suggest you hire a consultant to create a detailed curriculum custom-tailored to facilitate this transition: someone with a deep background in the humanities, experience as a teacher at the University level, and someone who can write articulately, with a sense of humour, and a mastery of metaphor, as well as relate to, and build educational relationships with, programmers, as well as technical managers. Someone who has had their name in the about-boxes, as a full team-member, of world-known name-brand software products that have generated millions of dollars in revenues, and who thinks that's much less important, in the long run, now, than finishing his current novel
Very strange: but, the only person that immediately comes to mind, capable of performing such a magician's act, while not letting any rabid rabbits escape, is: myself
Of course, that's mere self-mocking pseudo-vanity from an old guy who's about as hot as an iceberg technically right now: and, if I were in your shoes, I'd consider hiring Somali pirates to hi-jack any or all of Skeet, Gravell, O'Hanlon, Sells, Pattyn, Liberty, or MacDonald, or Petzold ... and maybe give them a bounty for Chris Maunder ?
best, Bill
"Many : not conversant with mathematical studies, imagine that because it [the Analytical Engine] is to give results in numerical notation, its processes must consequently be arithmetical, numerical, rather than algebraical and analytical. This is an error. The engine can arrange and combine numerical quantities as if they were letters or any other general symbols; and it fact it might bring out its results in algebraical notation, were provisions made accordingly." Ada, Countess Lovelace, 1844
modified on Friday, March 4, 2011 3:50 AM
|
|
|
|
|
<a href="http://guru-code.blogspot.com/">http:
This is a good blog you can get good solution from that.
|
|
|
|
|
Hello friends.
I hv one application that runs continuously for Month or two.And the application is using any remote PC database.
When i start the application i set all connection object required for that.
In some of the cases When i go for insert/update/delete operation at that time connection is broken so application stops working.it goes into idle state.Nothing is happening over there.
So i want to check that is there connection is exist or not with Remote PC in C#.NET?
Please reply.
Thanks in advance.
modified on Friday, February 18, 2011 2:25 AM
|
|
|
|
|
I don't think you are doing this in the most efficient manner. Most guides agree that you should only open a connection to the database when you need to perform some function, and you should immediately close it afterwards. This should allow you to check whether the connection is available when you need it, rather than checking when your app starts, and then assuming it still exists at some later time.
I must get a clever new signature for 2011.
|
|
|
|
|
Yes i am already doing it in this way.
i am going to open the connection when i need to perform Insert/Update/Delete.
<br />
public void Insert(string str)<br />
{<br />
try<br />
{<br />
if (con.State == ConnectionState.Open)<br />
{<br />
con.Close();<br />
}<br />
con.Open();
cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();<br />
}<br />
catch<br />
{ }<br />
finally<br />
{<br />
con.Close();<br />
}<br />
}<br />
|
|
|
|
|
.Net uses a connection pool.
So unless you explicitly turn it off connections are pooled.
What this means is that you can see the following happen.
- Do something with database (C#), connection is in pool.
- database gets bounced.
- Do something else with database, it pulls existing connection from pool. When you attempt to use the connection it blows up.
The choices are
1. Use a connection string that prevents pooling.
2. Go through enough connection attempts that you get a good connection.
3. Catch and parse all exceptions and look for several specific ones. Reset the pool when you find those. The originating connection still failed though so you need to do something about that.
|
|
|
|
|
If your connection string is same, not integrated authentication, then you have 25 connections possible in your pool, unless u increase them manually.
Otherwise, look for an open SqlDataReader which has caused exception and hence not got the connection close (you would have also missed the closing of connection in the finally block, for this to happen).
Anyway, within a little time, the connection will timeout and return to your pool. So the issue cannot be continuous; if it is, then you need to look into the machine's event log to figure out the actual root cause.
|
|
|
|
|
i am creating dataset. There is no previous connection. I need to create connection. if i click new connection button it is disappearing or escaping in visual studio 2008 windows appln.
What might be the problem. Please reply me.
Thanks in advance.
|
|
|
|
|
Your problem might be related to this
|
|
|
|
|
I created dataset in Visual Studio 2008 using database name payroll_system with payroll_systemconnectionstring (sql server 2005), now recently we changed the database name to only payroll. If i remove the dataset all the fields which i created in report will automatically goes because of this connection string removed.
How to change the payroll_systemconnectionstring to payrollconnectionstring (dataset) without removing the fields in reports.
If anybody knows, please reply me. Thanks in advance.
|
|
|
|
|
I am not a database expert but I would assume that you only need to change the name in your connection string. Your program's object names can remain as they were.
I must get a clever new signature for 2011.
|
|
|
|
|
The first question arises, why do you need to change payroll_systemconnectionstring to payrollconnectionstring? I think you can simply change databse string value for payroll_systemconnectionstring and use the same. You need not create a new 'payrollconnectionstring' and abondon 'payroll_systemconnectionstring'.
If you happen to do so, yes, you will have to overwrite 'payroll_systemconnectionstring' with 'payrollconnectionstring' everywhere in code.
|
|
|
|
|
With Microsoft Word, we can use templates to create documents, and "AutoTexts" to enter text more quickly. I was trying to find out how I could access those features via Interop from a C# application.
The Word.Application object has a property Templates . Also a Word.Document has a property AttachedTemplate .
When I do
Word.Application wordApp = new Word.Application();
the "Templates" does always contain exactly one template - that is Normal.dotm.
When I do
object missing = System.Reflection.Missing.Value;
Word.Application wordApp = new Word.Application();
Word.Document doc = wordApp.Documents.Add(missing, missing, missing, missing);
Template template = doc.get_AttachedTemplate();
template is also always Normal.dotm.
And the same holds true, when I do
Template template = wordApp.NormalTemplate;
Never did I get my other templates.
A Template has an AutoTextEntries property. I find only two entries: my initials and my full name. Never did I see my other AutoTexts.
A Google search was not successful, only lots of hits for opening Word with a template of known path. But I want to enumerate all existing templates, and then get my AutoTexts...
Some further information: on my Win7-64bit computer, Word 2007 is installed. The Interop.Word was generated with Word XP in order to stay compatible with our customers using older software.
Thanks a lot for your help,
Bernhard
|
|
|
|
|
Interop.Word can be such a pain! I am not familiar with the AutoText stuff you are talking about but I have two comments about your post...
1. Word documents by default use the Notmal.dotm template by default then they are created so that would make sense that a call to get_AttachedTemplate() on a new document would return the default template (thus matching .NormalTemplate)
2. In regards to the version of Interop.Word you are using, you will get backwards compatibility by using later versions. It is more the version of Word rather than the version of Windows that you need to cater for. I would recommend getting hold of an Office 2010 version of the Interop and that should span back to work with Office 2003 (if not earlier) - however, not sure if the 64bit Windows will cause an issue with getting this
Illogical thoughts make me ill
modified on Wednesday, February 16, 2011 10:22 AM
|
|
|
|
|
Maybe this can provide a clue? I cannot see the AutoTextEntries property you speak of thou...
foreach(Word.Template template in wordApp.Templates)
{
}
wordApp.Templates supposedly returns all available templates both gloabl and those attached to open documents
Edit:
AutoTextEntries property does not come up in Intellisense, but this does compile...
foreach(Word.Template template in wApp.Templates)
{
foreach(Word.AutoTextEntry entry in template.AutoTextEntries)
{
}
}
Illogical thoughts make me ill
modified on Wednesday, February 16, 2011 10:22 AM
|
|
|
|
|
Thanks for your replies (I had tried those things before I asked the question, and included that very condensed - perhaps too condensed - in my question).
But the point actually is not that I do net see the properties or do not get them at all, but that those properties do not contain the data I expected to be there - perhaps those data are stored somewhere else?
|
|
|
|
|
Meanwhile I had following idea: a Template has a Path property which shows the folder where it is stored, and a FullName property showing the full path including file name. Now I can iterate through all *.dot* files in that directory for getting other templates (and add a button for allowing the user to select a template stored elsewhere).
"AutoText " got a different name for every new version Word (at least for the German edition where it is called "Schnellbausteine" with Word 2007), hence let me explain shortly how to generate and use them.
Imagine, you often have to write "Blah blah blah! " in your documents. Write it once, mark the text, press <ALT><F3>. A dialog pops up where you enter an abbreviation for that text (e.g. "b3"), and save it (default is "Building Blocks.dotx " with Word 2007; it is located in C:\Users\user_name\AppData\Roaming\Microsoft\Document Building Blocks\language_ID ). Next time, you simply type "b3<F3>" and the abbreviation is replaced with the full text.
For that example, I selected "Normal.dotm " for saving it - and guess, now this AutoText shows up in the AutoTexts property of NormalTemplate .
For other AutoTexts, I will open that "Building Blocks.dotx" - but I really do not like that because of the language id in the path name...
If you have a more elegant version, please tell me.
|
|
|
|
|
In my 3 layer application, while I try to compile my business layer, I was getting the following error:
"Task failed because "sgen.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "sgen.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5. 2) Install Visual Studio 2008. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task. CnCCore"
This is happening only when I try to compile the project in Release Mode. While compiling in Debug mode, there are no issues. It would be great if anybody can provide some solution to resolve this issue.
I googled the error for sometime. Majority of the solution says, to write the key in registry or reinstall the .Net Framework 3.5 version. Is there any other better possible way to avoid this?
I am not sure how to do the fourth resolution. Is this again, writing in registry?
Thanks in advance,
meeram395
Success is the good fortune that comes from aspiration, desperation, perspiration and inspiration.
|
|
|
|
|
Have you checked the path as listed above to ensure that it exists, and that sgen.exe is present in the bin sub-directory?
I must get a clever new signature for 2011.
|
|
|
|
|
meeram395 wrote: This is happening only when I try to compile the project in Release Mode.
That is a clue. Check and compare your debug and release configuration. I'm going to take a wild guess of missing path in release config.
|
|
|
|
|
Am I the only fool using .NET in here?... haha
In the process I´ve explained here the property Process::HasExited is true from the moment the process starts.
The same occurs with the method void extProcessWorkCompleted (System::Object^ /*sender*/, System::ComponentModel::RunWorkerCompletedEventArgs^ e) which is called when the process starts, and not when it actually finishes.
Has this something to do with the process´s code or am I doing something wrong?
|
|
|
|
|
piul wrote: Am I the only fool using .NET in here?
I don't know.
piul wrote: am I doing something wrong?
Most probably.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
Well... I was trying to make a joke, nothing else. I´m sorry if that dissapointed someone.
|
|
|
|
|