コード例 #1
0
        public bool DeleteData(Dictionary <string, string> selectedRow, Table table)
        {
            StringBuilder whereFields = new StringBuilder();

            var lst = table.lstColumnNames.ToList();

            if (string.IsNullOrEmpty(table.primaryKey))
            {
                for (int i = 0; i < lst.Count; i++)
                {
                    whereFields.Append(lst[i] + "=@param" + i + " ");
                    if (i != lst.Count - 1)
                    {
                        whereFields.Append(" AND ");
                    }
                }
            }
            else
            {
                whereFields.Append(table.primaryKey + "=@param0");
            }
            string query = "DELETE FROM " + table.tableName + " WHERE " + whereFields;

            if (connection.GetState() == ConnectionState.Open)
            {
                connection.Close();
            }
            connection.Open();
            var s = "";

            try
            {
                SQLCommandInterface sqlCommand = connection.CreateCommand();
                sqlCommand.AddQuery(query);
                for (int i = 0; i < lst.Count; i++)
                {
                    sqlCommand.AddParameter("@param" + i, selectedRow[lst[i]].ToString());
                }
                s = sqlCommand.GetCommandText();
                var result = sqlCommand.ExecuteNonQuery();
                connection.Close();
                if (result != 0)
                {
                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
                connection.Close();
                return(false);
            }

            return(true);
        }
コード例 #2
0
        public bool UpdateData(Dictionary <string, object> values, Table table, Dictionary <string, object> oldValues)
        {
            StringBuilder setFields      = new StringBuilder();
            StringBuilder whereFields    = new StringBuilder();
            var           lst            = table.lstColumnNames.Where(x => x != table.AutoIncrementColumnNames).ToList();
            var           havePrimaryKey = string.IsNullOrEmpty(table.primaryKey);

            for (int i = 0; i < lst.Count; i++)
            {
                setFields.Append(lst[i] + "=@parama" + i + " ");
                if (havePrimaryKey)
                {
                    whereFields.Append(lst[i] + "=@paramb" + i + " ");
                }
                if (i != lst.Count - 1)
                {
                    setFields.Append(" , ");
                    if (havePrimaryKey)
                    {
                        whereFields.Append(" and ");
                    }
                }
                else
                {
                    if (!havePrimaryKey)
                    {
                        whereFields.Append(table.primaryKey + "=@paramb");
                    }
                }
            }
            string query = "update " + table.tableName + " set " + setFields + " where " + whereFields;

            if (connection.GetState() == ConnectionState.Open)
            {
                connection.Close();
            }
            connection.Open();
            var s = "";

            try
            {
                SQLCommandInterface sqlCommand = connection.CreateCommand();
                sqlCommand.AddQuery(query);
                var count = 0;
                for (int i = 0; i < lst.Count; i++)
                {
                    if (table.typeOfColumns[lst[i]] == "datetime" || table.typeOfColumns[lst[i]] == "date")
                    {
                        var date     = values[lst[i]].ToString().Split('/');
                        var date1    = date[2].Split(' ');
                        var datetemp = date1[0] + "/" + date[0] + "/" + date[1];
                        values[lst[i]] = datetemp;
                    }
                    sqlCommand.AddParameter("@parama" + i, values[lst[i]].ToString());
                    //sqlCommand.Parameters.AddWithValue("@parama" + i, values[lst[i]].ToString());
                    if (!havePrimaryKey && count == 0)
                    {
                        count++;
                        sqlCommand.AddParameter("@paramb", oldValues[table.primaryKey].ToString());
                        //sqlCommand.Parameters.AddWithValue("@paramb", oldValues[table.primaryKey].ToString());
                    }
                    else
                    {
                        sqlCommand.AddParameter("@paramb" + i, oldValues[lst[i]].ToString());
                        //sqlCommand.Parameters.AddWithValue("@paramb" + i, oldValues[lst[i]].ToString());
                    }
                }
                s = sqlCommand.GetCommandText();
                var result = sqlCommand.ExecuteNonQuery();
                connection.Close();
                if (result != 0)
                {
                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
                connection.Close();
                return(false);
            }

            return(true);
        }