问题列表 - 第44738页

我可以在MySQL中为一个表的每一行加入两个只有一个匹配的表吗?

我有一个表,类和另一个我称之为"课程"的表 - 也就是说,某个特定人在特定地方教授的课程.我想拉一个表,基本上只是根据某些课程参数向我显示哪些类是活动的.例如:

CLASSES
class_id|class_name
--------|------------
       1|Class One
       2|Class Two
       3|Different Class
etc...

COURSES
course_id|class_id|room
---------|--------|--------
        1|       3|       1
        2|       3|       2
        3|       1|       1
        4|       3|       1
        5|       3|       2
        6|       2|       1
etc...

我想知道是否有一种方法可以让我只想SELECT classes.* FROM classes JOIN courses ON classes.class_id=courses.class_id WHERE courses.room=1返回每个类的一个实例.发生的事情是我只获得了在1号房间发生的课程,但我得到了每个课程的多个实例,因为在课堂1的课程表中有多个该课程的实例.

我已经尝试了各种不同的JOIN- 左,右,内等 - 而且因为我是根据另一张桌子的规格从一张桌子拉出来的,所以它们似乎都给了我相同的结果.

所以我得到了:

class_id|  class_name  |course_id|room
--------|--------------|---------|--------
       1|Class One     |        3|       1
       2|Class Two     |        6|       1
       3|Diferent Class|        1|       1
       3|Diferent Class|        4|       1
etc...

但我想得到:

class_id|  class_name …

php mysql

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

Grails Gorm:Object引用未保存的瞬态实例

在Grails中保存Trip的实例时,我得到以下异常:

2011-01-26 22:37:42,801 [http-8090-5] ERROR errors.GrailsExceptionResolver - 对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例:Rower org.hibernate.TransientObjectException:object引用未保存的瞬态实例 - 在冲洗之前保存瞬态实例:Rower

这个概念很简单:对于一个游船,你需要一些划船者,一个舵手(也是一个划船者)和一艘船:

旅行看起来像(缩短):

class Trip {
    Boat boat;
    Rower coxwain;

    static belongsTo = [Rower,Boat]
    static hasMany = [rowers:Rower]
}
Run Code Online (Sandbox Code Playgroud)

和划船(缩短)

class Rower { 
    String firstname;
    String name;
    Rower reference;

    static hasMany = [trips:Trip];
    static mappedBy = [trips:"rowers"]
}
Run Code Online (Sandbox Code Playgroud)

然后行程保存在控制器中,如:

def save = {
        def trip = new Trip(params)

        // adding Rowers to Trip
        if (params.rower instanceof String) {
            def r = Rower.get(params?.rower)

            if (r != null) {
                trip.addToRowers(r) …
Run Code Online (Sandbox Code Playgroud)

grails grails-orm

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

如何在Windows上以编程方式触发Flip 3D?

如何在Windows Vista和7上以编程方式触发Flip 3D?

是否有一个API,如果是这样,它的名称是什么,我在哪里可以找到相关的功能?(我需要一个特定的答案,例如指向实际功能的网络链接,而不是像"哦,它在DirectX中"这样的通用.)

在一个相关的节点上,我有一个Logitech鼠标,它有一个"文档翻转"按钮,可以调用Flip 3D(然后我可以按向上/向下键来翻阅结果.)我很好奇他们是否使用官方Windows API或者如果有一些低级别的hackery正在进行中.

windows

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

rails 3 - 如何将PARTIAL呈现为Json响应

我想做这样的事情:

class AttachmentsController < ApplicationController
  def upload
    render :json => { :attachmentPartial => render :partial => 'messages/attachment', :locals => { :message=> @message} }
  end
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?在JSON对象中渲染部分?谢谢

ruby-on-rails ruby-on-rails-3

25
推荐指数
2
解决办法
2万
查看次数

SQL Server位列约束,1行= 1,其他所有0

我有一个bit IsDefault专栏.表中只有一行数据可以将此位列设置为1,其他所有数据都必须设置为0.

我该如何强制执行此操作?

sql-server

21
推荐指数
2
解决办法
8669
查看次数

没有ORDER BY的SQL Server 2005 ROW_NUMBER()

我试图从一个表插入另一个表使用

DECLARE @IDOffset int;
SELECT @IDOffset = MAX(ISNULL(ID,0)) FROM TargetTable

INSERT INTO TargetTable(ID, FIELD)
SELECT [Increment] + @IDOffset ,FeildValue
FROM SourceTable
WHERE [somecondition]
Run Code Online (Sandbox Code Playgroud)

TargetTable.ID不是标识列,这就是为什么我必须找到一种自己增加它的方法.

我知道我可以使用游标,或者创建一个带有标识列和FieldValue字段的表变量,填充它,然后在我的中使用它insert into...select,但这不是很有效.我尝试使用ROW_NUMBER函数来递增,但我在SourceTable中确实没有合法的ORDER BY字段可以使用,并且希望保留SourceTable的原始顺序(如果可能).

谁能提出任何建议?

sql t-sql sql-server sql-server-2005 auto-increment

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

如何在自己的DLL中的对象时实现自己的延迟加载

如果已经回答了这个问题我道歉,但我找不到任何答案.

在我最近的一个采访问题中,我被问到如何实现Lazy Loading.方案如下:

解:

  • 网站项目
    • Default.aspx的
  • 对象集合项目
    • 订购
    • 的LineItem
  • 服务层
    • OrderService
  • 存储库层
    • OrderRepository

Order对象将具有IList.订单存储库将有一个返回所有订单的方法(为了更快,它不会返回每个订单的所有订单项,因此它将为null).

问题是"如何为Order对象进行延迟加载.即有一个Order对象,网站调用myOrder.LineItems.

我的第一个想法是Order对象将调用Order Service来获取lineitems,但这不是好的设计,因为Objects需要知道该服务,并且服务需要知道对象.当然,网站可以调用订单服务传递订单/订单ID来获取线条,但是我们怎么能让那个位看不见呢?所以Order对象包含它的所有数据,但有些只是在需要的时候加载?

谢谢,希望一切都有意义.

乔恩

c# lazy-loading

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

VBScript 无法删除文件夹

我有一个 VBScript 程序,它在用户的临时文件夹中创建一个文件夹:

set fso = CreateObject("scripting.FileSystemObject")
temp = fso.GetSpecialFolder(2)
dropzone = temp & "\{d450c76c-2ad8-4f73-af8a-ccc5ba28036a}\"

If Not fso.FolderExists(dropzone) Then 
    set NewFolder = fso.CreateFolder(dropzone)
End If
set NewFolder = Nothing
Run Code Online (Sandbox Code Playgroud)

在程序结束时,我想删除该文件夹。我尝试了这个,但它给了我一个权限被拒绝的错误:

set deletefolder = fso.GetFolder(dropzone)
deletefolder.Delete(True) 
set fso = Nothing
Run Code Online (Sandbox Code Playgroud)

vbscript file-io

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

在CompilerPlugin中编译String到AST?

我想创建一个模板插件,并且第一步将任意字符串转换为它的"编译"AST表示(正如scala解释器所做的那样,我猜).所以编译器插件可以例如将someString分配给"HELLO WORLD":

  @StringAnnotation("""("hello world").toString.toUpperCase""")
  var someString = ""
Run Code Online (Sandbox Code Playgroud)

我目前的第一个镜头插件简而言之:

  • runafter解析器
  • 创建一个新的仅表示编译器和一个带有注释内容的VirtualFile
  • 编译和打印unit.body

见:http://paste.pocoo.org/show/326025/

a)现在,"object o{val x = 0}"返回一个AST,但"var x = 1+ 2"不是因为它不是一个有效的.scala文件.我怎样才能解决这个问题?

b)仅仅是演示是一个好的选择吗?我应该改为使用适当的阶段覆盖computeInternalPhases还是使用-Ystop:phase?

c)是否可以将外部编译器的环境绑定到内部编译器,以便例如

  var x = _
  (...)
  @StringAnnotation("x += 3")
Run Code Online (Sandbox Code Playgroud)

会工作?

我发现以下代码[1]使用解释器和一个类似的变量:

  Interpreter interpreter = new Interpreter(settings);
  String[] context = { "FOO" };
  interpreter.bind("context", "Array[String]", context);
  interpreter
    .interpret("de.tutorials.scala2.Test.main(context)");
  context[0] = "BAR";
  interpreter
    .interpret("de.tutorials.scala2.Test.main(context)");
Run Code Online (Sandbox Code Playgroud)

[1] http://www.tutorials.de/java/320639-beispiel-zur-einbindung-des-scala-interpreters-kompilierte-scala-anwendungen.html#post1653884

谢谢

完整代码:

class AnnotationsPI(val global: Global) extends Plugin {
  import global._
  val name = "a_plugins::AnnotationsPI" //a_ …
Run Code Online (Sandbox Code Playgroud)

compiler-construction scala scala-2.8

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

如何在C++中使用数组?

C++从C继承了数组,几乎无处不在.C++提供了易于使用且不易出错的抽象(std::vector<T>自C++ 98和C++ 11std::array<T, n>以来),因此对数组的需求并不像在C中那样频繁出现.但是,当您阅读遗产时代码或与用C编写的库交互,你应该牢牢掌握数组如何工作.

本FAQ分为五个部分:

  1. 类型级别的数组和访问元素
  2. 数组创建和初始化
  3. 赋值和参数传递
  4. 多维数组和指针数组
  5. 使用数组时常见的陷阱

如果您觉得此常见问题解答中缺少重要内容,请写下答案并将其作为附加部分链接到此处.

在下文中,"数组"表示"C数组",而不是类模板std::array.假定了C声明符语法的基本知识.请注意,面对异常,手动使用newdelete如下所示是非常危险的,但这是另一个常见问题解答的主题.

(注意:这是Stack Overflow的C++常见问题解答的一个条目.如果你想批评在这种形式下提供常见问题解答的想法,那么发布所有这些的元数据的发布将是这样做的地方.这个问题在C++聊天室中受到监控,其中FAQ的想法一开始就出现了,所以你的答案很可能被那些提出想法的人阅读.)

c++ arrays pointers c++-faq multidimensional-array

469
推荐指数
5
解决办法
12万
查看次数