GVKun编程网logo

java中的通用SQL查询是否可行?

9

本文将介绍java中的通用SQL查询是否可行?的详细情况,。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于c#–WCF:通用接口的序列化是否可行?、Direc

本文将介绍java中的通用SQL查询是否可行?的详细情况,。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于c# – WCF:通用接口的序列化是否可行?、DirectX对Java是否可行?、javascript – JSON中的引用是否可行?、javascript – 在它之外使用ajax respone是否可行?的知识。

本文目录一览:

java中的通用SQL查询是否可行?

java中的通用SQL查询是否可行?

如果我有一个创建SQL查询的方法,如下所示:
public List selectTuple() {
   boolean status = true;
   String query = "SELECT ";
   query += getFields() == null ? " * " : " " + getFields() + " ";
   query += " FROM " + tables;
   if ( getSearchClause() != null ) {
       query += " " + getSearchClause();
   }
   query += ";";
   Debug("sql...........caleed selectTuple method,query is : "+ query);
   setQuery(query);
   if ( getPrepared() ) {//If this is a Prepared query,status = setPreparedStatement();
   } else {
      status = setNonPreparedStatement();
   }
   if ( ! status ) {
      Log("[CRITICAL] (.........)..........");
   }
   status = doExecuteQuery();
   if ( ! status ) {
      Log("[CRITICAL] (.........)..........");
   }
   return( getResults() );
}//method selectTuple

但是,由于这将用于不同的表,因此字段将具有不同的数据类型(int,string,date等).那么如何迭代这样的ResultSet呢?

另外,我如何创建这样的插入查询?

谢谢.

解决方法

是的,我认为可以完成…您可以在ResultSet中使用getMetaData()来获取列的数量和类型,并因此迭代ResultSet.

getMetaData():

ResultSetMetaData class

但是,我不知道如何编写这样的通用插入查询…

c# – WCF:通用接口的序列化是否可行?

c# – WCF:通用接口的序列化是否可行?

我正在尝试实现一个服务契约,其中包含一个采用通用接口的方法,并且该泛型接口本身具有一个接口参数.我用ServiceKNownType修饰了服务接口,我用常规的KNownType修改了服务实现,并且我用常规的KNownType修饰了datacontract实现:
[ServiceContract(SessionMode = SessionMode.required,CallbackContract = typeof(ICallbacks))]
[ServiceKNownType(typeof(Batch<object>))]
[ServiceKNownType(typeof(Command))]
public interface IActions
{
    [OperationContract]
    IResponse TakeAction(IBatch<ICommand> commands);
}

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,ConcurrencyMode = ConcurrencyMode.Reentrant)]
[KNownType(typeof(Batch<object>))]
[KNownType(typeof(Command))]
internal class Actions : IActions
{
}

[DataContract]
[KNownType(typeof(Command))]
public class Batch<T> : IBatch<T>
{
}

为了记录,我在那里有Batch,因为看起来你只能表示一次泛型类型的知识类型 – 它似乎发出BatchOfanyType,但我不知道如何处理它.

我得到的例外是“将任何静态未知的类型添加到已知类型列表中 – 例如,通过使用KNownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中.”

有什么明显的我做错了吗?是否不支持接口的通用接口?为了记录我在这个项目的C#2.0和.NET 3.0上.

解决方法

如果你真的想要,你可以在服务合同定义中使用接口,只要你包括你正在做的已知类型(稍作调整,见下文).

显然,使用接口作为泛型类型参数使其成为C#3.0的桥梁.我将已知的type属性更改为

[ServiceKNownType(typeof(Batch<Command>))]
public interface IActions
{
}

这使得它在某种程度上起作用.序列化和反序列化本身也可以,但是你遇到了这个例外:

Unable to cast object of type ‘Batch`1[Command]’
to type ‘IBatch`1[ICommand]’.

要使该转换工作,您需要语言支持泛型类型协方差,这是C#4.0中引入的.但是要在C#4.0中工作,你需要添加一个方差修饰符:

public interface IBatch<out T>
{
}

然后它完美地工作…不幸的是你没有使用C#4.0.

关于在服务合同中使用接口的最后一件事:如果您从它们生成服务引用,它将所有接口参数键入为对象,因为原始接口类型不是元数据的一部分.您可以通过程序集引用共享契约,或手动重构生成的代理来修复它,但总而言之,使用与WCF的接口可能比它的价值更麻烦.

DirectX对Java是否可行?

DirectX对Java是否可行?

在 Java中使用DirectX有简单的方法吗?特别是DirectX的视频API.

我知道C#可能是一个更自然的选择,但是我有一些愚蠢的理由想要做一些如此恶劣的事情.

解决方法

我不了解简单,但您可以随时使用JNI加载DirectX库并调用方法.

使用像Swig这样的东西,你可以自动生成大量的代码.

不知道如何可行的东西.

javascript – JSON中的引用是否可行?

javascript – JSON中的引用是否可行?

是否可以在 JSON中分配对象的引用?我的数据看起来像这样:
[{
  name:"name",Parent:[{
    name:"parentName"
    Parent:[{
       .....//and so on
    }]
  }]
}]

我需要在JavaScript中遍历它并更改人名.我怎样才能做到这一点?

解决方法

你不能.您可以将父路径指定为字符串并在运行时对其进行评估,但由于JSON只是字符串,整数,数组和字典,因此您无法使用引用.

javascript – 在它之外使用ajax respone是否可行?

javascript – 在它之外使用ajax respone是否可行?

有没有在$.post()之外使用data_response的方法?

这是我使用的代码的一部分:

$.post('do.PHP', { OP: "news_search", category: cat_id },
    function(data_response){
        var response = data_response; //I need to access this variable outside of $.post()
    }
}, "json");

console.log(response); //response is not defined, is what I get for Now

UPDATE

有没有办法在全球范围内提供这种响应?

解决方法:

没有; $.post异步执行,因此当您调用console.log时,AJAX请求仍在运行,尚未产生响应.这是回调函数的目的:提供在请求完成后运行的代码.如果将console.log移动到回调函数中,它应该工作:

$.post('do.PHP', { OP: "news_search", category: cat_id },
    function(data_response){
        var response = data_response; //I need to access this variable outside of $.post()
        console.log(response);
    }
}, "json");

更新:如果您希望响应数据全局可用,则可以在全局范围内声明变量,如下所示:

var response = null;
$.post('do.PHP', { OP: "news_search", category: cat_id },
    function(data_response){
        response = data_response;
        console.log(response);
    }
}, "json");

当然,您可以确定响应的唯一上下文
实际上已经填充了一个值是在提供的回调函数中
行响应后的$.post = data_response;.如果你想在它使用它
在脚本中的任何其他阶段,您将必须首先检查其值;
这样的事情:

if (response !== null)
{
    console.log(response);
}

请注意,如果您直接说完,此代码将不会执行任何操作
$.post电话;只有在POST请求完成后执行,在其他一些异步回调(可能是某种类型的UI交互事件)中才会有用.

今天关于java中的通用SQL查询是否可行?的介绍到此结束,谢谢您的阅读,有关c# – WCF:通用接口的序列化是否可行?、DirectX对Java是否可行?、javascript – JSON中的引用是否可行?、javascript – 在它之外使用ajax respone是否可行?等更多相关知识的信息可以在本站进行查询。

本文标签: