开发者

Save Object back to the database

开发者 https://www.devze.com 2023-04-01 01:56 出处:网络
I am working on a project where I am converting some VB.Net class libraries to C# libraries (mostly to learn C# syntax). My problem is that I cannot get the Save function working.

I am working on a project where I am converting some VB.Net class libraries to C# libraries (mostly to learn C# syntax). My problem is that I cannot get the Save function working.

I am building my object with this:

    public static StoreEmployee Create(string LoginId)
    {
        var emp = new StoreEmployee();
        using (var dt = DAC.ExecuteDataTable("usp_ActiveEmployeeSelect", 
            DAC.Parameter(CN_LoginId, LoginId)))
        {
            emp.StoreId = Convert.ToString(dt.Rows[0][CN_StoreId]);
            emp.FirstName = Convert.ToString(dt.Rows[0][CN_FirstName]);
            emp.LastName = Convert.ToString(dt.Rows[0][CN_LastName]);
            emp.UserName = Convert.ToString(dt.Rows[0][CN_UserName]);
            emp.Role = Convert.ToString(dt.Rows[0][CN_Role]);
            emp.Description = Convert.ToString(dt.Rows[0][CN_Description]);
        }
        return emp;
    }

And then creating it with this

    private static void FillStoreEmployeeObject(string empLoginId)
    {
        StoreEmployee.Create(empLoginId);
    }

And then trying to use this save function to save the object back to the database:

    public override Boolean Save(string LoginId)
    {
        try
        {
            int retVal = DAC.ExecuteNonQuery("usp_ActiveEmployeeSave",
                DAC.Parameter(CN_LoginId, LoginId),
                DAC.Parameter(CN_StoreId, StoreId),
                DAC.Parameter(CN_FirstName, FirstName),
                DAC.Parameter(CN_UserName, UserName),
                DAC.Parameter(CN_Role, Role),
                DAC.Parameter(CN_Description, Description));
            return true;
        }
        catch
        {
            return false;
        }
    }

I don't get a syntax warning for that but I have revi开发者_StackOverflowsed it many times so I want to make sure that is correct before I move on. Does this look correct? By the way I am trying to call the Save function with this

StoreEmployee.Save(Convert.ToString(Login))

which gives me this error An object reference is required for the non-static field, method, or property However when I mark my function as static my Create function shows errors so I am left very confused.


Save is an instance method.

As the error message states,you need to call it on an existing instance of StoreEmployee (such as the one returned by Create).

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号