使用Zend_Form,我将如何创建这样的表单元素:
<input type="text" name="element[1]" value="" />
<input type="text" name="element[2]" value="" />
// etc...
Run Code Online (Sandbox Code Playgroud) 是的,另一个NULL vs空字符串问题.
我同意NULL意味着没有设置的想法,而空字符串意味着"一个空的值".这是我的问题:如果列的默认值为NULL,我如何允许用户输入该NULL.
假设在系统上创建了一个新用户.有一个名字和姓氏字段; 姓氏不需要姓氏.创建用户时,此人将看到2个文本输入,一个用于第一个,一个用于最后一个.该人选择仅输入姓氏.第一个名称在技术上没有设置.在插入期间,我检查每个字段的长度,将所有空字段设置为NULL.
查看数据库时,我看到未设置名字.立即想到的问题是,他们可能从未见过名字字段(即因为错误).但这种情况并非如此; 如果空白,他们就离开
所以,我的问题是,如何在接收用户输入时决定何时将字段设置为NULL或空字符串?你怎么知道用户想要在没有检测焦点的情况下设置字段,或者他们是否删除了值...或......或......?
我有一个查询要在表中插入一行,该表有一个名为ID的字段,该字段使用列上的AUTO_INCREMENT填充.我需要为下一部分功能获取此值,但是当我运行以下操作时,即使实际值不为0,它也始终返回0:
MySqlCommand comm = connect.CreateCommand();
comm.CommandText = insertInvoice;
comm.CommandText += "\'" + invoiceDate.ToString("yyyy:MM:dd hh:mm:ss") + "\', " + bookFee + ", " + adminFee + ", " + totalFee + ", " + customerID + ")";
int id = Convert.ToInt32(comm.ExecuteScalar());
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这应该返回ID列,但每次只返回0.有任何想法吗?
编辑:
当我跑:
"INSERT INTO INVOICE (INVOICE_DATE, BOOK_FEE, ADMIN_FEE, TOTAL_FEE, CUSTOMER_ID) VALUES ('2009:01:01 10:21:12', 50, 7, 57, 2134);last_insert_id();"
Run Code Online (Sandbox Code Playgroud)
我明白了:
{"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right …Run Code Online (Sandbox Code Playgroud) 为什么没有文本框伸展来填充堆叠面板中的空间?这是设计的吗?在网格中,文本框按预期延伸.
有人能指出各种AJAX库的良好统一比较吗?我已经阅读了十几个不同的,我即将开始一个项目,我只是没有信心我已经探索了可能性的空间.
请注意我不是要求"我认为XXX很棒" - 我正在寻找良好的彻底比较.哦,我使用.NET或ASP.NET的可能性非常小; 我没有任何可用的Microsoft环境,我也不急于获得一个.
好的,这背后的原因是我有几个我想要构建的小应用程序.它们或多或少都像游戏一样,并不是那么复杂,其中一部分就是要通过AJAX和DHTML获得一些体验.我怀疑任何主要软件包都可以使用,比如Rico,Scriptaculous或Dojo.
我将寻找一些东西:图形,通过SVG或Canvas,以及将图标拖放为碎片的能力.除此之外,谁知道呢?但我希望有足够的信息在一个方面做一个好的开始,而不是不得不尝试几个.
如果有一个REST资源我想要监视来自其他客户端的更改或修改,那么最好的(也是最RESTful)方式是什么?
我这样做的一个想法是提供特定的资源来保持连接打开,而不是在资源不存在的情况下立即返回.例如,给定资源:
/game/17/playerToMove
Run Code Online (Sandbox Code Playgroud)
这个资源上的"GET"可能会告诉我轮到我的对手了.我可能会注意到移动号码(比如5)并试图检索下一步行动,而不是不断地轮询这个资源以找出轮到我移动的时间:
/game/17/move/5
Run Code Online (Sandbox Code Playgroud)
在"正常"REST模型中,似乎对此URL的GET请求将返回404(未找到)错误.但是,如果相反,服务器保持连接打开,直到我的对手发挥他的移动,即:
PUT /game/17/move/5
Run Code Online (Sandbox Code Playgroud)
然后服务器可以将我的对手PUT的内容返回到该资源.这将为我提供我需要的数据,以及一种通知我的对手何时移动而不需要轮询.
这种方案是RESTful吗?或者它违反了某种REST原则?
WPF TextBox本身使用系统突出显示颜色来绘制所选文本的背景.我想覆盖它并使其保持一致,因为它因操作系统/用户主题而异.
对于ListBoxItems,有一个巧妙的技巧(见下文),您可以覆盖资源键以HighlightBrushKey在焦点设置中自定义系统突出显示颜色:
<Style TargetType="ListBoxItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightGreen"/>
</Style.Resources>
</Style>
Run Code Online (Sandbox Code Playgroud)
TextBox不幸的是,同样的技巧并不适用.有没有人有任何其他的想法,除了"覆盖ControlTemplate"?
谢谢你的任何建议!
您能否提供一个代码片段,展示如何在OCaml中使用Lua?
一个简单的例子可能是"Hello,World"变体.让OCaml提示用户输入名称.然后将该名称传递给Lua函数.让Lua打印问候语并返回名称的长度.然后让OCaml打印一条关于名称长度的消息.
例:
user @ desktop:〜$./ hello.opt
名称?用户
你好,用户.
你的名字长4个字母.
用户@桌面:〜$
[编辑]
作为一名非C程序员,我是否可以实现这一点而无需编写中间C程序来传递Lua和OCaml之间的数据?
以下是我想尝试的理论概念.不幸的是,ocaml_hello.ml的第3行需要知道如何调用lua_hello.lua中定义的函数以使代码有效.
lua_hello.lua 定义lua_hello,它打印一个参数并返回其长度.
1 function lua_hello (name)
2 print ("Hello, "..name..".")
3 return (string.len (name))
4 end
Run Code Online (Sandbox Code Playgroud)
ocaml_hello.ml OCaml提示输入名称,调用Lua函数,并打印返回值.
1 let () = print_string "Name? "; flush stdout in
2 let name = input_line stdin in
3 let len = Lua_hello.lua_hello name in
4 Printf.printf "Your name is %d letters long." len; flush stdout;;
Run Code Online (Sandbox Code Playgroud)