小编Spe*_*ick的帖子

在INSERT查询中使用主键的顺序值

如何为具有顺序主键的Oracle数据库编写插入查询,以便insert语句自动获取序列中的下一个数字?

INSERT INTO LD_USER_ROLE(USER_ROLE_ID,INS_USER,INS_DATE, USERNAME) 
VALUES (100, 'sp22',to_date('2003/05/03 21:02:44','yyyy/mm/dd hh24:mi:ss'),'JOHN BARRY', )
Run Code Online (Sandbox Code Playgroud)

在上面的语句中,我已经为键'USER_ROLE_ID'硬编码了100的值,但是我想按照第一段中的说明改变它.

oracle

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

使用 OracleDataAdapter 的参数化查询

我当前正在将控制器类与数据访问层类(UserDAL 类)结合使用,以便对数据库进行更改。但是我知道我的代码很容易受到攻击,因为我没有使用参数化查询。

我从示例中看到了如何使用命令对象来使用查询。不过,我使用的是 OracleDataAdapter,它的行为似乎有点不同。它也与将被参数化的实际值属于不同的类,如以下代码部分所示:

控制器代码,其中三个字符串由用户输入的字段填充:

string usrName = mod.UserName;
string role = mod.Role;
string mod.actvInd;


string sql = "UPDATE LD_USER_ROLE" + " SET USERNAME='" + usrName + "', ROLE='" + role + "', ACTIVE_IND='" + actvInd  + "' WHERE USER_ROLE_ID=" + id + "";

UserRoleDAL udl = new UserRoleDAL();
            udl.ExecuteQuery(sql);
Run Code Online (Sandbox Code Playgroud)

用户DAL类:

public class UserRoleDAL
{

    private OracleConnection conn;

    public UserRoleDAL()
    {
         string oradb = ConfigurationManager.ConnectionStrings["db_dbConnectionString"].ConnectionString;

        conn = new OracleConnection(oradb);
    }


    public void ExecuteQuery(string sql)
    {
        conn.Open();

        OracleDataAdapter adapter = new …
Run Code Online (Sandbox Code Playgroud)

c# database oracle asp.net-mvc-3

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

为什么这种隐式使用ToString()不会导致异常?

我已经创建了一个简单的例子来提出这个问题.

以下代码编译并运行:

static void Main(string[] args)
{
    string bigString, littleString;
    littleString = null;
    bigString = "word " + littleString + " word";
}
Run Code Online (Sandbox Code Playgroud)

此代码编译但抛出运行时NullReference异常.

static void Main(string[] args)
{
    string bigString, littleString;
    littleString = null;
    bigString = "word " + littleString.ToString() + " word";
}
Run Code Online (Sandbox Code Playgroud)

为什么第一个代码不会抛出类似的异常?我本以为,为了将它连接到其他字符串,会隐含使用ToString(),此时它会遇到与第二段代码相同的基本问题.

.net c#

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

由于无法识别操作名称而导致错误

我是Python的新手.试图让以下代码工作:

class Portfolio:
    def __init__(self, balance={}):
        self.__balance = balance.copy()

    def initSym(self, sym):
        if not sym in self.__balance:
            self.__balance[sym] = 0

    def invest(self, amt, fx):
        initSym(fx)
        self.__balance[fx] += amt

    def divest(self, amt, fx):
        initSym(fx)
        self.__balance[fx] -= amt

    def getBalance(self, fx):
        initSym(fx)
        return self.__balance[fx]

    wallets = {'Paul':Portfolio({}),'Anne':Portfolio({'USD':200}),'John':Portfolio({'CHF':500,'GBP':11000})}

    wallets['Anne'].getBalance('CHF')
Run Code Online (Sandbox Code Playgroud)

但是这会给出错误:

NameError: name 'initSym' is not defined
Run Code Online (Sandbox Code Playgroud)

python

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

在MVC3中创建一个简单的下拉列表

我有一个文本框,用于获取工作角色的值.但是,这限制了数据库方面的一定数量的角色.因此,使用仅包含有效角色的下拉列表对我来说更有意义.我试图设置它但遇到了困难.

我在我的视图中放置了以下代码:

<p>
    @Html.LabelFor(m => m.Role)
    @Html.DropDownListFor(m=>m.Roles)
    @Html.ValidationMessageFor(m => m.Role)
</p>
Run Code Online (Sandbox Code Playgroud)

这在我的模型中:

public List<string> Roles
    {
        get
        {
            return new {"Author","Underwriter" };
        }
    }
Run Code Online (Sandbox Code Playgroud)

这不会编译.我有什么想法我做错了吗?

c# razor asp.net-mvc-3

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

PL/SQL中的第一个程序

我正在尝试学习一些PL/SQL,但我的第一个程序遇到问题:

declare
    v_string_tx varchar2(256):='Hello World!';
begin  
    dbms_output.put_line(v_string_tx);
end;
Run Code Online (Sandbox Code Playgroud)

当我在SQL Developer中运行它时,我只收到一条消息"匿名块已完成".但是我没有得到'Hello World!' 正如所料.谁知道我错过了什么?

我尝试在此代码之前放置'set serveroutput'行,但是当我这样做并运行它时,没有任何反应(我甚至没有收到消息告诉我匿名块已经完成).

oracle plsql oracle-sqldeveloper

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

DataBinder没有将JSON数组对象绑定到Model中的List字段

下面是我用来创建一个JSON对象的javascript代码,用于将值返回给控制器.vm引用由数字填充的其他地方的数组.我创建了一个数字数组的对象.

$("#saveUser").live("click", function() {

            var username = $("#UserName").val();
            var email = $("#Email").val();
            var phoneNumber = $("#PhoneNumber").val();
            var personCode = $("#PersonCode").val();
            var managerId = $("#ManagerId").val();
            var officeId = $("#OfficeId").val();
            var address = $("#Address").val();
            var activeInd = $("#ActiveInd").val();

            var roles = [];
            for(i=0;i<vm.RoleDdList().length ;i++) {
                    roles.push(vm.RoleDdList()[i].role());   
                }

            var jsonObj = 
                {
                    username:username,
                    email:email,
                    phoneNumber:phoneNumber,
                    personCode:personCode,
                    managerId:managerId,
                    officeId:officeId,
                    address:address,
                    activeInd:activeInd,
                    roles:roles
            };


            $.ajax({
               type:"POST",
               async:true,
               url:"Users/Save",
               data:jsonObj,
               dataType: "json",
               success:function (data) {
                   dlg.dialog("close");
               },
               error:function (data) 
               {
                   alert("An error occurred when saving the …
Run Code Online (Sandbox Code Playgroud)

json asp.net-mvc-3

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

将'ć'存储为'c'的SQL Server数据库

我想在我的sql server db中存储一个balkan姓氏,但是当我尝试使用以下SQL更新记录时:

update User_Data
set name = 'Kramari?'
where User_PKID= 3047
Run Code Online (Sandbox Code Playgroud)

但是当我用以下方法查询数据库时:

select name from User_Data where User_PKID = 3047
Run Code Online (Sandbox Code Playgroud)

它返回:

Kramaric
Run Code Online (Sandbox Code Playgroud)

关于如何让它以原始形式存储它的任何想法.我需要它,因为我在我的服务器代码上对来自网站的数据进行字符串比较,如果'ć'不相同则失败.

sql t-sql sql-server

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

使用LINQ过滤掉null集合属性

我正在尝试根据属性提取列表的子集.该属性本身就是一个集合,我只对这个集合不为null的值感兴趣

我的代码是:

var subGroupCollection = groupContext.SubGroups.Where(sg => sg.Holds != null).ToList();
Run Code Online (Sandbox Code Playgroud)

我收到以下运行时错误:

不能比较类型的元素 'System.Collections.Generic.ICollection`1 [WW2.Hold,二战,版本= 6.0.5848.30559文化=中性公钥=空]'.仅支持基本类型,枚举类型和实体类型.

"Holds"是集合属性的名称(这是Hold对象的HashSet)

这有什么问题,是否有明显的解决方案?

c# linq

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

DateTime.Parse()适用于一台机器但不适用于另一台机器

我正在使用该Parse方法将a转换stringDateTime对象:

requestRecord.TerminationDate = DateTime.Parse(reader.ReadString("Termination_Date"));
Run Code Online (Sandbox Code Playgroud)

此代码在一台计算机上运行,​​但在另一台计算机上抛出异常.我认为问题可能与当地文化有关.查看两台计算机上的任务栏,抛出异常的任务栏具有日期,01/12/2014而另一台显示12/01/2014.

有没有什么方法可以重写上面的代码,以便它可以在两台机器上运行,而不管本地DateTime文化?

.net c#

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