Exemplo n.º 1
0
        /// <summary>
        /// HowTO: 3. 基本数据库操作(执行存储过程)
        /// </summary>
        static void HowTO_3()
        {
            Console.WriteLine("HowTO: 3. 调用存储过程, 返回DataSet");

            TestAbstractDA da = new TestAbstractDA();

            StoreProcedureInfo info = da.TestStoreProcedure("p_test", 2, DateTime.Now);

            Console.WriteLine("存储过程p_test的返回值:{0}", info.ReturnCode);

            foreach (string s in info.OutputParameters.Keys)
            {
                Console.WriteLine("\t输出参数:{0}:{1}", s, info.OutputParameters[s]);
            }

            if (info.DataSet != null && info.DataSet.Tables.Count > 0)
            {
                Console.WriteLine("\tDataSet:");
                foreach (DataColumn c in info.DataSet.Tables[0].Columns)
                {
                    Console.Write("\t{0}", c.ColumnName);
                }
                Console.WriteLine();

                foreach (DataRow r in info.DataSet.Tables[0].Rows)
                {
                    foreach (DataColumn c in info.DataSet.Tables[0].Columns)
                    {
                        Console.Write("\t{0}", r[c]);
                    }
                    Console.WriteLine();
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// HowTO: 5. Transaction,  支持两个不同数据库连接之间的事务
        /// </summary>
        static void HowTO_5()
        {
            Console.WriteLine("HowTO: 5. Transaction,  支持两个不同数据库连接之间的事务");

            TestAbstractDA    da1 = new TestAbstractDA();
            TestAbstractTable da2 = new TestAbstractTable();

            try
            {
                using (TransScope scope = new TransScope(da1, da2))
                {
                    da1.DeleteAll();
                    da2.DeleteAll();

                    int id1 = da1.Insert("1", "1");
                    int id2 = da2.Insert("2", "2");
                    da1.Insert("3", "3");
                    da2.Insert("4", "4");

                    Console.WriteLine("da1:");
                    foreach (TestUser u in da1.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }

                    Console.WriteLine("da2:");
                    foreach (TestUser u in da2.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }

                    da1.Update(id1, "修改", "修改");
                    da2.Update(id2, "修改", "修改");

                    Console.WriteLine("da1修改后:");
                    foreach (TestUser u in da1.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }

                    Console.WriteLine("da1修改后:");
                    foreach (TestUser u in da2.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }


                    scope.Commit();
                }
            }
            catch (DatabaseException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("SQL:" + ex.SQL);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// HowTO: 9. 基本数据库操作(返回一个字符串列表)
        /// </summary>
        static void HowTO_9()
        {
            Console.WriteLine("HowTO: 9. 返回一个字符串列表");

            using (TestAbstractDA da = new TestAbstractDA())
            {
                List <string> list = da.TestListString();

                list.ForEach(delegate(string s) { Console.WriteLine(s); });
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// HowTO: 1. 基本数据库操作(从AbstractDA派生)
        /// </summary>
        static void HowTO_1()
        {
            Console.WriteLine("HowTO: 1. 从AbstractDA派生的数据库操作");
            TestAbstractDA da = new TestAbstractDA();

            da.DeleteAll();

            int UserID = da.Insert("测试1", "测试1");

            TestUser u = da.SelectUserByUserId(UserID);

            Console.WriteLine("插入T_TEST:  ID={0},UserName={1}, UserPass={2}", u.ID, u.UserName, u.UserPass);

            da.Update(u.ID, "修改之后的用户名", "修改之后的用户名");

            u = da.SelectUserByUserId(UserID);

            Console.WriteLine("更新T_TEST:  ID={0},UserName={1}, UserPass={2}", u.ID, u.UserName, u.UserPass);
        }
Exemplo n.º 5
0
Arquivo: Program.cs Projeto: xqgzh/Z
        /// <summary>
        /// HowTO: 1. �������ݿ����(��AbstractDA����)
        /// </summary>
        static void HowTO_1()
        {
            Console.WriteLine("HowTO: 1. ��AbstractDA���������ݿ����");
            TestAbstractDA da = new TestAbstractDA();

            da.DeleteAll();

            int UserID = da.Insert("����1", "����1");

            TestUser u = da.SelectUserByUserId(UserID);

            Console.WriteLine("����T_TEST:  ID={0},UserName={1}, UserPass={2}", u.ID, u.UserName, u.UserPass);

            da.Update(u.ID, "�޸�֮����û���", "�޸�֮����û���");

            u = da.SelectUserByUserId(UserID);

            Console.WriteLine("����T_TEST:  ID={0},UserName={1}, UserPass={2}", u.ID, u.UserName, u.UserPass);
        }
Exemplo n.º 6
0
        /// <summary>
        /// HowTO: 7. 基本数据库操作(执行存储过程返回泛型列表)
        /// </summary>
        static void HowTO_7()
        {
            Console.WriteLine("HowTO: 7. 执行存储过程返回泛型列表");

            TestAbstractDA da = new TestAbstractDA();

            StoreProcedureList <TestUser> info = da.TestStoreProcedureList("p_test", 2);

            Console.WriteLine("存储过程p_test的返回值:{0}", info.ReturnCode);

            foreach (string s in info.OutputParameters.Keys)
            {
                Console.WriteLine("\t输出参数:{0}:{1}", s, info.OutputParameters[s]);
            }

            foreach (TestUser u in info.List)
            {
                Console.WriteLine("\tID={0}, UserName={1}, UserPass={2}",
                                  u.ID, u.UserName, u.UserPass);
            }
        }
Exemplo n.º 7
0
Arquivo: Program.cs Projeto: xqgzh/Z
        /// <summary>
        /// HowTO: 9. �������ݿ����(����һ���ַ����б�)
        /// </summary>
        static void HowTO_9()
        {
            Console.WriteLine("HowTO: 9. ����һ���ַ����б�");

            using (TestAbstractDA da = new TestAbstractDA())
            {
                List<string> list = da.TestListString();

                list.ForEach(delegate(string s) { Console.WriteLine(s); });

            }
        }
Exemplo n.º 8
0
Arquivo: Program.cs Projeto: xqgzh/Z
        /// <summary>
        /// HowTO: 7. �������ݿ����(ִ�д洢���̷��ط����б�)
        /// </summary>
        static void HowTO_7()
        {
            Console.WriteLine("HowTO: 7. ִ�д洢���̷��ط����б�");

            TestAbstractDA da = new TestAbstractDA();

            StoreProcedureList<TestUser> info = da.TestStoreProcedureList("p_test", 2);

            Console.WriteLine("�洢����p_test�ķ���ֵ:{0}", info.ReturnCode);

            foreach (string s in info.OutputParameters.Keys)
            {
                Console.WriteLine("\t�������:{0}:{1}", s, info.OutputParameters[s]);
            }

            foreach (TestUser u in info.List)
            {
                Console.WriteLine("\tID={0}, UserName={1}, UserPass={2}",
                    u.ID, u.UserName, u.UserPass);
            }
        }
Exemplo n.º 9
0
Arquivo: Program.cs Projeto: xqgzh/Z
        /// <summary>
        /// HowTO: 5. Transaction,  ֧��������ͬ���ݿ�����֮�������
        /// </summary>
        static void HowTO_5()
        {
            Console.WriteLine("HowTO: 5. Transaction,  ֧��������ͬ���ݿ�����֮�������");

            TestAbstractDA da1 = new TestAbstractDA();
            TestAbstractTable da2 = new TestAbstractTable();

            try
            {

                using (TransScope scope = new TransScope(da1, da2))
                {
                    da1.DeleteAll();
                    da2.DeleteAll();

                    int id1 = da1.Insert("1", "1");
                    int id2 = da2.Insert("2", "2");
                    da1.Insert("3", "3");
                    da2.Insert("4", "4");

                    Console.WriteLine("da1:");
                    foreach (TestUser u in da1.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }

                    Console.WriteLine("da2:");
                    foreach (TestUser u in da2.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }

                    da1.Update(id1, "�޸�", "�޸�");
                    da2.Update(id2, "�޸�", "�޸�");

                    Console.WriteLine("da1�޸ĺ�:");
                    foreach (TestUser u in da1.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }

                    Console.WriteLine("da1�޸ĺ�:");
                    foreach (TestUser u in da2.SelectAll())
                    {
                        Console.WriteLine("\tID={0},UserName={1},UserPass={2}", u.ID, u.UserName, u.UserPass);
                    }

                    scope.Commit();
                }
            }
            catch (DatabaseException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("SQL:" + ex.SQL);
            }
        }
Exemplo n.º 10
0
Arquivo: Program.cs Projeto: xqgzh/Z
        /// <summary>
        /// HowTO: 3. �������ݿ����(ִ�д洢����)
        /// </summary>
        static void HowTO_3()
        {
            Console.WriteLine("HowTO: 3. ���ô洢����, ����DataSet");

            TestAbstractDA da = new TestAbstractDA();

            StoreProcedureInfo info = da.TestStoreProcedure("p_test", 2,DateTime.Now);

            Console.WriteLine("�洢����p_test�ķ���ֵ:{0}", info.ReturnCode);

            foreach (string s in info.OutputParameters.Keys)
            {
                Console.WriteLine("\t�������:{0}:{1}", s, info.OutputParameters[s]);
            }

            if (info.DataSet != null && info.DataSet.Tables.Count > 0)
            {
                Console.WriteLine("\tDataSet:");
                foreach (DataColumn c in info.DataSet.Tables[0].Columns)
                {
                    Console.Write("\t{0}", c.ColumnName);
                }
                Console.WriteLine();

                foreach (DataRow r in info.DataSet.Tables[0].Rows)
                {
                    foreach (DataColumn c in info.DataSet.Tables[0].Columns)
                    {
                        Console.Write("\t{0}", r[c]);
                    }
                    Console.WriteLine();
                }
            }
        }