小编MrZ*_*der的帖子

Python MySQL:不显示插入的记录

我使用的是带有MySQLdb 32bit的Python 2.7,以及运行本地的MySQL 5.5.8.

我为此疯狂,我从来没有见过这样的东西.

基本上,我通过以下方式将记录插入MySQL:

db=MySQLdb.connect(host="localhost",user="root", passwd="mypassword",db="python",port=3307)
cur=db.cursor()
cur.execute("INSERT INTO mytable(myfield) VALUES(%s);","somedata")
Run Code Online (Sandbox Code Playgroud)

我已经验证它已正确连接,并且它可以成功地SELECT从数据库中获取数据.

这是奇怪的部分:从MySQL查询浏览器(GUI工具)和MySQL通过CMD,我无法看到插入的记录.

我可以从我的Python脚本插入和选择记录,但它们不会显示在我的数据库中,它只会返回 Empty Set (0.00 sec)

这里有一个非常奇怪的部分:我可以从GUI工具和控制台截断和删除数据.

总结一下:我可以从Python脚本中插入和选择数据.我无法在MySQL中看到这些数据.但是,我可以使用MySQL截断并删除该数据.

在这一点上我完全迷失了.

python mysql insert

10
推荐指数
1
解决办法
3958
查看次数

Android快速位图加载

我有一块想要在屏幕上加载的图像.所有图像都是我下载并存储在SD-CARD上的文件.

到目前为止,我发现了两种方法,首先是在活动开始时将它们加载到主线程上(我得到了大约70个图像,所有加载它们需要大约2.1秒).

另一种方式是我现在正在测试的.将它们加载到分离的线程上,同时我可以为用户显示加载动画.现在我使用ThreadPoolExecutor实现了4.3秒.我在10个线程上做到了.

最后一种方法,(这是我唯一没有测试的方法)是使用精灵表.

我不能使用应用程序缓存,因为在我的应用程序中我有很多屏幕,每个屏幕都有自己的图像集.

您怎么看?加载大量图像的最快方法是什么?您知道哪些加速技术可以帮助我?

android load bitmap

7
推荐指数
2
解决办法
6249
查看次数

Android MotionEvent ACTION_MOVE效率.如何提高性能?

我目前正在开发一个允许自由绘图的应用程序.

我目前使用的方法如下:

currentLine是一个列表,用于保存ACTION_MOVE返回的所有点的历史记录.

public boolean onTouchEvent (MotionEvent event) {

        switch (event.getAction()) {
            case MotionEvent.ACTION_MOVE:
                Point p = new Point(event.getX(),event.getY());
                currentLine.addPoint(p);
                    invalidate();
                break;
        }

        return true;

}
Run Code Online (Sandbox Code Playgroud)

然后我把这些观点onDraw用我班上的方法画出来.

@Override
protected void onDraw(Canvas c) {
    super.onDraw(c);

    //Draw Background Color
    c.drawColor(Color.BLUE);

    //Setup Paint
    Paint p = new Paint();
    p.setStyle(Style.FILL);
    p.setColor(COLOR.WHITE);

    //iterate through points
    if(currentLine.size()>0){
        for(int x = 0;x<currentLine.size();x++){
            c.drawCircle(currentLine.get(x).getX(), currentLine.get(x).getY(), 3, p);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

这种方法效果很好,没有任何延迟或任何问题.

除此之外,它没有得到它需要的足够的分数.

例如,如果我要在整个屏幕上快速拖动我的手指,它可能只会绘制整个事件的15个点.

如何提高MotionEvent的性能/速度?我怎样才能获得更多积分?或者我还应该做些什么呢?

- - 编辑 - -

我自己设法解决了这个问题. …

performance android touch-event

5
推荐指数
2
解决办法
6304
查看次数

实体框架6暂时禁用拦截

我正在使用一个IDbCommandTreeInterceptor在我的模型上启用软删除.

System.Data.Entity.Infrastructure.Interception.DbInterception.Add(
     new SoftDeleteInterception());
Run Code Online (Sandbox Code Playgroud)

我希望能够暂时禁用拦截器,以便我可以选择"已删除"的实体进行审计.

但是,看起来这个DbInterception集合是整个集合的.

有没有办法在DbContext 没有拦截的情况下创建一个新的?甚至是一种在DbContext每次创建拦截器时添加拦截器的方法?

database entity-framework soft-delete entity-framework-6

5
推荐指数
1
解决办法
852
查看次数

何时评估检查约束?

我有一张记录表

ID
EntityID 
Value
Status
Run Code Online (Sandbox Code Playgroud)

和实体表

ID
Col1
Col2
CurrentRecordID
Run Code Online (Sandbox Code Playgroud)

CurrentRecordID应的Record绑在EntityStatus0

我有表两个检查约束之一Entity是检查,以确保CurrentRecordID实际上是对当前记录,一个Record是检查,以确保,如果它具有为0的状态,它EntityIDCurrentRecordID它的ID相符。

所以本质上,这两个检查约束做同样的事情,但分别在每个表上

检查约束是在事务的最后运行还是在表上每次插入/更新后像触发器一样运行?

如果它们在每次修改后运行,这两个约束是否会相互冲突(意味着,约束将在下一个表有机会更新其值之前抛出错误)。

这是运行以插入新记录并将其设置为给定实体的当前查询的示例

UPDATE Record SET Status = 1 WHERE Status = 0 AND EntityID = @EntityID
INSERT INTO Record(EntityID, Value, Status) VALUES(@EntityID, 100, 0)
DECLARE @RecordID INT = @@IDENTITY
UPDATE Entity SET CurrentRecordID = RecordID WHERE ID = @EntityID
Run Code Online (Sandbox Code Playgroud)

sql-server check-constraints

5
推荐指数
1
解决办法
1809
查看次数

PHP和MySQL,好的查询失败了

我对PHP和MySQL有一个奇怪的问题.为了尝试从PHP创建表,我已经将我需要的查询粘贴到PHP中,该查询在PHP环境之外成功执行.

    $CREATE_PAGES = "DROP TABLE IF EXISTS `MyDatabase`.`pages`;
                CREATE TABLE  `MyDatabase`.`pages` (
                  `Page_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
                  `Page_File` varchar(1000) NOT NULL,
                  `Page_Description` varchar(1000) NOT NULL,
                  `Page_Message` longtext NOT NULL,
                  PRIMARY KEY (`Page_ID`)
                ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;";
    $result= mysql_query($CREATE_PAGES,$link);

    if(!($result)){
       echo mysql_error();
       echo $CREATE_PAGES;
    }
Run Code Online (Sandbox Code Playgroud)

然后我收到标准错误消息

. . . for the right syntax to use near 'CREATE TABLE `MyDatabase`.`pages` ( `Page_ID` int(10) unsigned NOT NULL' at line 2
Run Code Online (Sandbox Code Playgroud)

然而,奇怪的是,当我回显查询时,$CREATE_PAGES我可以复制和粘贴,它将执行得很好.怎么会出现语法错误?

我知道这不是连接错误,我可以从该数据库中的另一个表中提取数据.有什么我想念的吗?

php mysql

2
推荐指数
1
解决办法
128
查看次数