我有一个MySQL表,其中有两个组成主键的字段和一个"排序"字段.这些都不是自动递增的.
当你在没有指定ORDER BY子句的情况下对表进行查询时,它会按照放入的顺序拉出数据 - 非常标准.因此,无论先插入哪一行,都会先将它们拉出来.
问题是,当我ORDER BY sort ASC,如果sort为null,那么它实际上根本不排序,结果就变得混乱了.但是我想让备份ORDER BY成为默认订单,否则它将退出.我不能将备份作为自动递增的"ID"字段,因为没有自动递增ID字段.主键只是两个外键的组合.
- - -编辑 - - -
CREATE TABLE IF NOT EXISTS `product_attribute_select_value` ( `product_attribute_id` int(11) NOT NULL, `attribute_select_value_id` int(11) NOT NULL, `sort` int(11) default '0', PRIMARY KEY (`product_attribute_id`,`attribute_select_value_id`), KEY `product_attribute_select_value_FI_2` (`attribute_select_value_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `product_attribute_select_value` ADD CONSTRAINT `product_attribute_select_value_FK_1` FOREIGN KEY (`product_attribute_id`) REFERENCES `product_attribute` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `product_attribute_select_value_FK_2` FOREIGN KEY (`attribute_select_value_id`) REFERENCES `attribute_select_value` (`id`);
数据被插入,当没有 …
我在运行我的Java应用程序时不断遇到可怕的java.something.someException错误.而且我似乎没有掌握什么例外处理和什么不处理?
当我阅读api文档时,大多数函数抛出异常,就像我使用I/O或使用数组......等.
如何根据什么参数决定捕获哪些异常以及哪些异常捕获?
我在这里谈论检查的例外情况.
我跑过以下样本面试问题.我该如何解决?
假设我们有一个数组a1,a2,...,an,b1,b2,...,bn.
目标是在O(n)时间和O(1)空间中将此数组更改为a1,b1,a2,b2,...,an,bn.换句话说,我们需要一个线性时间算法来修改数组,只需要不超过一定量的额外存储空间.
从DB2表我有blob,我正在转换为字节数组,所以我可以使用它.我需要获取字节数组并创建一个PDF.
这就是我所拥有的:
static void byteArrayToFile(byte[] bArray) {
try {
// Create file
FileWriter fstream = new FileWriter("out.pdf");
BufferedWriter out = new BufferedWriter(fstream);
for (Byte b: bArray) {
out.write(b);
}
out.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
但PDF它产生的不正确,它有一堆从上到下的黑线.
我实际上能够PDF通过使用基本相同的过程编写Web应用程序来创建正确的.Web应用程序和代码之间的主要区别是这一行:
response.setContentType("application/pdf");
Run Code Online (Sandbox Code Playgroud)
所以我知道字节数组是一个PDF,它可以完成,但我的代码byteArrayToFile将不会创建一个干净的PDF.
有关如何使其工作的任何想法?
我试图从动态生成的方法中调用内部方法.il代码很简单:ldarg_0,callvirt,ret.
使用TypeLoadException执行该方法失败,说它无法加载定义内部方法的类型.
当我想到它时,这似乎是合乎逻辑的,因为动态方法主机程序集不是方法声明类型程序集的朋友.
但是,我预计动态方法仍然有效,就像Delegate.CreateDelegate一样.毕竟,我确实设法获得内部方法的MethodInfo,因此权限障碍在我身后.
无论如何,问题是"是否可以从动态生成的方法中调用内部方法?"
谢谢.
编辑:
这是一个简单的代码示例,演示了这个问题:
using System;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
namespace A
{
internal class Data
{
internal string String { get; set; }
}
public static class Program
{
public static void Main()
{
Expression<Func<Data, string>> expr = x => x.String;
var getterInfo = ((PropertyInfo)((MemberExpression)expr.Body).Member).GetGetMethod(true);
var getter1 = (Func<Data, string>)Delegate.CreateDelegate(typeof(Func<Data, string>), getterInfo);
var dm = new DynamicMethod(string.Empty, typeof(object), new Type[] { typeof(object) });
var gen = dm.GetILGenerator();
gen.Emit(OpCodes.Ldarg_0);
gen.Emit(OpCodes.Castclass, typeof(Data));
gen.Emit(OpCodes.Callvirt, getterInfo);
gen.Emit(OpCodes.Ret); …Run Code Online (Sandbox Code Playgroud) 我正在尝试查看监控摄像系统.远程访问可通过网站获得,该网站似乎需要下载一个充满好吃的CAB文件让我查看相机.
在我的一些系统上,这个安装过程很顺利.
在少数几个,特别是互联网较慢的那些,我进入一个无限循环:进入页面,等待很长一段时间(我假设这是下载CAB文件的地方),点击黄色栏以允许它"为所有用户安装此CAB文件"和页面重新加载.它永远不会出现在窗口说"你确定安装这个东西很酷吗?"
有一个很好的方法我可以用一些代码来支持这一点吗?我已经下载了CAB文件并提取了它的内容.它充满了DLL和一个SetupScript.vbs.我试图让SetupScript.vbs运行,我试图手动注册DLL regsrv32.我甚至将所需的.OCX和.INF文件复制到C:\Windows\Downloaded Program Files\并修改了注册表,以模仿安装顺利进行的操作.
尽管如此,当我访问网页时,它仍然需要永远,然后回到上面描述的循环中.
我需要调用哪些API来"正确"注册此组件,以便IE可以看到它?还是有一些我想念的更简单的东西?
有人可以指出我正确的方向来解决这个问题吗?浏览器是IE8,操作系统是Vista.
谢谢!
我想要选择除表中前5行之外的所有行.
我怎么做?
为什么我不能打字
$query = "SELECT *
FROM ages
OFFSET 5
ORDER BY id ASC";
Run Code Online (Sandbox Code Playgroud) 我得到了touchesBegan和touchesEnded的坐标.但是在touchesMoved中我可以获得从touchesBegan到touchesEnded的所有触摸坐标.我的意思是当我把手指放在屏幕上并拖到某个位置然后我举起它.那么,我可以得到起始位置的所有坐标到终点位置.如果可能的话,我怎么能得到它们?
我有一个继承System.Windows.Forms.Form的类.我需要通过Web浏览器提供表单.表格当前允许在给定各种参数的情况下生成图表.因此,将其直接嵌入网页将是我的需求的理想选择.
我该怎么做呢?
谢谢.
嗨,我想在smarty中进行连接.这是我想如何使用代码的示例.php分配
$smarty->assign('myvar',array(1,5,6,4));
$smarty->assign('myvar2',array('a1'=>1,'a2'=>2,'a3'=>3,'a4'=>4));
Run Code Online (Sandbox Code Playgroud)
和模板页面
{foreach from=$myvar item=v}
{if $v == $myvar2.a+$v}
match
{else}
no match
{/if}
{/foreach}
Run Code Online (Sandbox Code Playgroud)
这应该写出'匹配'两次和'不匹配'两次.但是写了四次匹配,这对我没有意义.
谢谢