How can I change the table adapter's command timeout

后端 未结 15 1405
遇见更好的自我
遇见更好的自我 2020-12-10 02:12

I\'m using Visual Studio 2008 with C#.

I have a .xsd file and it has a table adapter. I want to change the table adapter\'s command timeout.

Thanks for your

15条回答
  •  时光取名叫无心
    2020-12-10 02:53

    There seems to be a more convenient way to do this. Here's a quick recap of what I found.

    Let's say I add a (class library) project called MyDB to my solution. Into that project I add a DataSet called "Data". And into that dataset, I drag a table called "X".

    What I get on the design surface is an object that shows that I have an object called "XTableAdapter".

    I now open the generated code, Data.Designer.cs, and look for XTableAdapter. When I find it, I note that it's contained in namespace MyDB.DataTableAdapters - which is just a concatenation of the name of the project, "MyDB", the name of the DataSet, "Data", and "TableAdapters".

    With that in hand, I now go back to the class library, still called Class1.cs (which I'll ignore for now).

    I change its namespace from MyDB to MyDB.DataTableAdapters.

    I change the class declaration to public partial class XTableAdapter, and make it look like this:

    using System.Data.SqlClient;
    
    namespace MyDB.DataTableAdapters
    {
        public partial class XTableAdapter
        {
            public void SetTimeout(int seconds)
            {
                foreach (SqlCommand cmd in CommandCollection)
                {
                    cmd.CommandTimeout = seconds;
                }
            }
        }
    }
    

    The calling sequence could hardly be clearer:

    int TwoMinutes = 120;    
    XTableAdapter.SetTimeout(TwoMinutes);
    

    Less muss, less fuss, less reflection (well, none), less filling.

提交回复
热议问题