日期:2014-05-17  浏览次数:20877 次

一个C#小问题。。

 public int GetAdd(TestTable model)
        {
            string _Add1 = "insert into test2 ([Name],[DataContent]) values ('{0}',{1});select @@identity";
            string _Add2 = "insert into test1 ([DataType]) values ({0});select @@identity";
            if (DAL.SQL.GetAdd(string.Format(_Add2, model.DataType)) != null)
            {
                object obj1 = DAL.SQL.GetAdd(string.Format(_Add1, model.Name, model.DataContent));
                if (obj1 != null)
                {
                    return Convert.ToInt32(obj1);
                }
                else
                {
                    return -2;

                }
            }
            else
            {
                return -1;
            }
        }



两张表...   test1是 ID 和 DataType    test2是ID Name,DataContent!

   ID主键自增长。

   问题:现在我这种方法写,添加之后只有 test1 插入了数据,test2无数据。。

    请高手帮我修改下。。让我能同时插入数据,实现ID增长同步。。
------最佳解决方案--------------------
说明你的_Add1报异常了,估计三数据库约束造成的。
而异常被你的DbHelper吃掉了,在DbHelper里面搞个断点看一看。
------其他解决方案--------------------
看看执行if (DAL.SQL.GetAdd(string.Format(_Add2, model.DataType)) != null)返回的是什么值,如果是-1的话说明DAL.SQL.GetAdd(string.Format(_Add1, model.Name, model.DataContent));根本就没执行到
------其他解决方案--------------------
引用:
看看执行if (DAL.SQL.GetAdd(string.Format(_Add2, model.DataType)) != null)返回的是什么值,如果是-1的话说明DAL.SQL.GetAdd(string.Format(_Add1, model.Name, model.DataContent));根本就没执行到


大哥...都说了test1有数据插入了./.....
------其他解决方案--------------------
'{0}',{1}
你sql语句有问题
values ('{0}',{1});select @@identity
------其他解决方案--------------------
引用:
引用:看看执行if (DAL.SQL.GetAdd(string.Format(_Add2, model.DataType)) != null)返回的是什么值,如果