您可以使用 offset - 跳过一定数量的行 - 即
SELECT * FROM table LIMIT 10, 10
这将跳过前 10 行并检索接下来的 10 行。
我认为您的 TryGetData_Decimal
的命名具有误导性,如果您传入的 ref
参数在方法退出时指向一个新实例。对我来说,TryGetData_Decimal 听起来像是许多值类型上的 TryParse 方法的变体(它有一个包含解析值的输出参数 - 类似于 cloneData
参数)。
我想我不确定为什么标头对象必须指向一个新实例,所以我不确定我可以推荐一种设计。 那么它可能更具可读性
IntvlDataHeader ExtractValueAndGetNewInstance_Decimal(IntvlDataHeader header, out decimal cloneData)
如果这就是您需要做的,我认为如果您的 TryGetData_XXX
方法具有类似这样的签名: header 被传入,但在方法退出时不会更改, 。该方法返回新实例,如果需要,您可以使用它。我不会更改 cloneData
- 我认为 out
参数只要不被过度使用就可以。
我也会尝试将该方法的名称更改为更有意义的名称。
我希望这有帮助。
为了最快的改变:
从
$(document).ready(function(){
$('#infocontent').children().hide();
$('#linkwrapper a').click(function(){
var chosen1 = this.id;
$('#infocontent').children('div').each(function(i) {
var i = i+1;
if( $("#" + this.id).is(":visible") == true ) {
$("#" + this.id).hide(function(){
$("#" + chosen1 + "content").show();
});
return false;
} else {
$("#" + this.id).show();
return false;
}
});
});
});
到
$(document).ready(function () {
$('#infocontent').children().hide();
$('#linkwrapper a').click(function () {
var chosen1 = this.id;
$('#infocontent').children().hide();
$("#" + chosen1 + "content").show();
});
});
我基本上用 1)隐藏所有子项,然后 2)显示所需的 div 替换了 .each() 函数
不需要聚合两次,并且联合运算符通常会执行隐式唯一排序,这在您的情况下也是不必要的。
SELECT day, sales_person, sum(num_transactions) from
(
SELECT day, sales_person, number_of_transactions As num_transactions FROM sales;
UNION ALL
SELECT day, sales_person_from, number_of_transactions FROM internal_sales;
)
GROUP BY day, sales_person;
删除中间聚合和唯一排序应该会有所帮助。
使位置:相对于父 DIV 以使溢出起作用
并保持 wmode="transparent" 也可以溢出工作,对 flash 对象有好处
r_city是什么?
如果它是一个文本框,那么您需要执行类似 r_city.text = ...
的操作。
此外,您可能会考虑删除回发检查。通常,这在 page.onload 事件中最有用,并且通常,您要检查 if NOT ispostback
...
删除 DOCTYPE 会使 IE 进入怪异模式,您可以通过按 F12 激活调试控制台,然后在屏幕底部选择怪异模式或兼容模式来实现相同的效果。
但我也有同样奇怪的行为。
由于某种原因,通过在调试模式下执行代码似乎可以更好地工作,或者如果您将行为附加到按钮,如果您单击它足够多,它最终会工作。
我认为淡入淡出行为是有问题的,并且仅在元素的背景中淡出,而不是在前景中淡出。 show() 表现出同样奇怪的行为。
在兼容性视图中一切都工作正常,尽管我不喜欢使用它。
您可以覆盖 InitializeCulture ( http://msdn .microsoft.com/en-us/library/system.web.ui.page.initializeculture.aspx ) 基本 Page
e 中的方法,通过检查Thread.CurrentThread.CurrentUICulture
属性 (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentuiculture.aspx)
这需要将范围传递到 EventDispatcher.addEventListener() 中。它不像 AS 的版本那么干净,但是可以工作......不过,仍然很好奇听到 A 的答案,并看看它是否适用于 B。
你们对此有何看法(每个类一个 DataContext)?
你所做的事情在很多层面上都是错误的,这并不有趣——例如,如何在事务中同步多个类的更新?分布式事务 200 次更新只是因为您不关心正确的连接处理?这是非常昂贵的。您如何处理多个类之间的连接和项目?您强制使用不同的数据上下文(每个类一个),这将导致底层提供程序完全无法优化 - 并不是说这在技术上是不可能的,但我确信开发人员在被问到为什么时会告诉您正确地起诉这些东西不关心它。
这将需要完全重写才能采用合理的方法 - 在页面启动时打开连接,在页面结束时关闭连接。好吧,如果您需要单独的数据库事务,有时会不止一个,但通常 - 不需要。
另外,获取一本向您介绍存储库模式的初学者书籍。我们通过 DataManager 运行所有数据库访问。
DataManager包含连接,实现类似Entity的东西,是IQueryable。一开始打开一个,根据需要使用它,完成。
当您要执行一些逻辑时,您可以编写一个方法来执行逻辑并从控制器调用该方法。最好将方法保留在事件模型中,以满足胖模型和精益控制器的良好实践。
def self.create_event(ev_params)
status = false
if event.end_dat - event.stat_dat >6
# create two events
event1 = Event.new(ev_params)
mid_date = event1.stat_at + ((event.end_dat - event.stat_dat)/2).days
event1.end_at = mid_date
event2 = Event.new(ev_params)
event2.stat_at = mid_date
status = event1.save'
status = event=2.save'
else
status = Event.create(ev_params)
end
status
end
并从控制器 @event.save 中的控制器 Event.create_event 调用此方法。
这不是经过测试的代码,但我希望您可以轻松地从上面的代码中获得。
我会跳过检查该行是否已存在的操作,并且通常会使用类似的内容(这里我想用“BAR”替换“FOO”):
full_path_to_read = File.expand_path('~/test1.txt')
full_path_to_write = File.expand_path('~/test2.txt')
File.open(full_path_to_read) do |source_file|
contents = source_file.read
contents.gsub!(/FOO/, 'BAR')
File.open(full_path_to_write, "w+") { |f| f.write(contents) }
end
expand_path
的使用也可能是这里有点迂腐,但我喜欢它,这样我就不会意外地破坏一些我无意的文件。
使用 MySQL,您可以在
UPDATE
中使用JOIN
(左、右或内),就像在SELECT
语句中一样。您的代码将如下所示:
$result
变量将包含与您的适配器类型相关的对象。我使用 PDO_MYSQL,因此最终得到了一个Zend_Db_Statement_Pdo
对象。With MySQL, you can use
JOIN
(left, right or inner) inUPDATE
the same way as you would in aSELECT
statement.Your code would look like this:
The
$result
variable will contain an object related to your adapter type. I use PDO_MYSQL so I ended up with aZend_Db_Statement_Pdo
object.Zend_Db 如何使用连接来更新多个表?