小编Met*_*337的帖子

在echo中变量之间添加空格的最佳方法是什么?

让我们说我们echo看起来像这样

echo '<p> Usr1 has '. $array[1]['amount']. ' '. $array[1]['item']. ' in Slot 2 <br \>';
Run Code Online (Sandbox Code Playgroud)

注意' '两个数组/变量之间的关系.这样做有更好看和更优化的方法吗?

php

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

你如何使用GET执行PDO是一个整数?

我正在慢慢地尝试理解并从MySQL切换到PDO/MySQLi,现在我想尝试如何使用PDO.

我想问你将如何使用$_GET,通常设置用户ID(数字),在execute.据我所知execute它只接受字符串,所以我尝试了PDO::PARAM_INT

$q = $dbh->prepare('SELECT `content` FROM `inventory` WHERE `id` = ?'); 

$q->execute(array($_GET['u_id'], PDO::PARAM_INT));
Run Code Online (Sandbox Code Playgroud)

不幸的是它没有解决它.它缺少参数吗?它返回以下内容:

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in X on line Y
Run Code Online (Sandbox Code Playgroud)

php pdo

0
推荐指数
1
解决办法
80
查看次数

为什么在通过ListView进行预处理并使用GetStringAsync时会冻结GUI?

我正在使用foreach来浏览ListView,其项目是从XML文件加载的.然后我正在使用项目名称到我的网页进行异步HTTPRequest以获取JSON字符串,到目前为止它工作得很好.

 HttpClient client = new HttpClient();

 foreach (ListViewItem item in lV_Items.Items)
  {
   JObject o = JObject.Parse(client.GetStringAsync("http://000.000.000/?item=" + HttpUtility.UrlEncode(item.Text)).Result);
  }
Run Code Online (Sandbox Code Playgroud)

然后我将JSON中的新值编辑为SubItem项

string amount= (string)o["amount"];
item.SubItems[1].Text = amount;
Run Code Online (Sandbox Code Playgroud)

我在计时器中运行此代码,每分钟重复一次.然而,即使我阅读了很多关于例如ListView.BeginUpdate或将HTTPRequest放在另一个线程中的事情,我几天都在努力进行性能优化.首先,我不太明白为什么GUI在做foreach时会冻结.鉴于异步HTTP请求不在主线程上工作(至少我希望这是针对异步代表的),它不应该冻结请求.编辑SubItems的操作也应该非常快,特别是因为List中只有大约10个项目.

我想过将项目加载到List(动态集合)而不是直接加载ListView.然后我将运行1个定时器,它定期将List发送到另一个Thread,然后Thread刷新列表中的值并将其发送回主窗体.在Mainform中有第二个计时器,它定期将List放入ListView(仅用于可视化).两个定时器,因为我认为如果将上述两个都放入一个定时器,定时器将等待线程完成,导致仍然冻结应用程序.

我想这是一个想法,但是有很多不透明的工作已经完成,而且维护/调试可能会更难.任何关于我应该如何做以及什么会更好的想法都将很高兴.

c# multithreading json listview httprequest

0
推荐指数
1
解决办法
44
查看次数

标签 统计

php ×2

c# ×1

httprequest ×1

json ×1

listview ×1

multithreading ×1

pdo ×1