Сохранить объект обратно в базу данных - PullRequest
0 голосов
/ 01 сентября 2011

Я работаю над проектом, в котором я конвертирую некоторые библиотеки классов VB.Net в библиотеки C # (в основном для изучения синтаксиса C #). Моя проблема в том, что я не могу заставить работать функцию Save.

Я строю свой объект так:

    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;
    }

И затем создать его с этим

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

И затем попытка использовать эту функцию сохранения, чтобы сохранить объект обратно в базу данных:

    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;
        }
    }

Я не получаю предупреждение о синтаксисе, но я пересматривал его много раз, поэтому я хочу убедиться, что это правильно, прежде чем я продолжу. Это выглядит правильно? Кстати, я пытаюсь вызвать функцию Сохранить с этим

StoreEmployee.Save (Convert.ToString (Войти))

, которая дает мне эту ошибку Ссылка на объект требуется для нестатического поля, метода или свойства Однако, когда я отмечаю свою функцию как статическую, моя функция Create показывает ошибки, поэтому я очень растерялся.

1 Ответ

2 голосов
/ 01 сентября 2011

Save - это метод экземпляра .

Как говорится в сообщении об ошибке, вам нужно вызвать его для существующего экземпляра StoreEmployee (такого как тот, который возвращается Create).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...