好的,我找到了一种将其与 Drupal 中的 CCK 集成的方法
http://batayneh.me/post/how-pull -tweet-pasting-its-url-drupal-cck
我的条件是如果如果
输入空白按钮
字段,那些空白数据不应该
录入数据库
你的意思是,当没有输入任何字段时,你不输入?
我应该如何避免这种情况?
这就是所谓的编程。基本上不是一个 SQL 问题。您的表格应该检查是否应该插入内容。如果不是,它甚至不应该接触 sql server。
一个非常晚的答案...
如果您设置自己的服务器,您可以使用它来帮助您的桌面应用程序获得 Twitter 上用户的授权,而无需共享(即:嵌入)您的密钥。
您可以使用这种方法:
当用户安装您的桌面应用程序时,她必须在 twitter 和您的服务器上注册它
*)
*) 应用程序要求服务器生成令牌请求 URL
*) 服务器将生成的URL发送给应用程序
*) 应用程序将用户引导至授权 URL
*) 用户在 Twitter 上授权您的应用程序并将生成的 PIN 粘贴到其中
*) 使用 PIN,您的应用程序可以获取令牌
*) 所有进一步的通信都使用令牌,并且不涉及您的服务器
注意:应用程序使用服务器的用户凭据(例如:id 和密码)登录到您的服务器。
我已经切换到 iframe
<iframe frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?counturl=http://www.mywebsite.com&count=vertical&via=mytwitter&text=My%20Text&url=http://www.mywebsite.com&"
style="width:55px; height:65px; overflow:hidden; position:relative;" />
通过这样做,重新渲染不会影响按钮。
在设置参数后,您可以使用 adapter.InsertCommand.ExecuteNonQuery()
来提交数据库中的插入操作。
例如:
DataTable dtUsers = new DataTable("tblUsers");
BindingSource bsUsers = new BindingSource();
SqlDataAdapter daUsers = new SqlDataAdapter("usp_GetUsers",Properties.Resources.ConnectionString);
daUsers.InsertCommand = new SqlCommand("usp_InsertNewUser");
daUsers.InsertCommand.Connection = new SqlConnection(Properties.Resources.ConnectionString);
daUsers.InsertCommand.CommandType = CommandType.StoredProcedure;
daUsers.InsertCommand.Parameters.Clear();
daUsers.InsertCommand.Parameters.Add("@username", SqlDbType.VarChar, 50).Value = txtUser.Text;
daUsers.InsertCommand.Parameters.Add("@password", SqlDbType.VarChar, 50).Value = txtPass.Text;
daUsers.InsertCommand.Parameters.Add("@userType", SqlDbType.Int).Value = cbxUserType.SelectedValue;
daUsers.InsertCommand.ExecuteNonQuery();
daUsers.Update(dtUsers);
对于初学者来说, shutdown 命令本身可以直接花费一些时间,您不需要为此使用 at (请参阅 http://www.computerhope.com/unix/ushutdow.htm)。
不过,除此之外,我认为这种方法没有任何问题,只要您的环境可以容忍这些服务器离线时间可能超过必要时间(即,如果停电持续晚上 9 点到 10 点,但您不启动它们)直到第二天早上 8 点才回来,这比他们真正需要的时间长了 10 个小时),你的描述似乎表明情况就是如此。在这种环境中,除了安排主机在虚拟机计划关闭几分钟后关闭之外,我认为我不会做任何不同的事情。
如果这是在 page_init 之后加载的 page_init 视图状态中,那么你的答案很简单。这里有 Pagelifecycle 的描述,加载视图状态发生在页面初始化事件之后。所以视图变量在 page_init 中不可用
SELECT SQL_CALC_FOUND_ROWS
p.*,
CASE p.in_stock_msg WHEN '' THEN 'In stock' ELSE p.in_stock_msg END AS in_stock_msg,
CASE p.out_stock_msg WHEN '' THEN '' ELSE p.out_stock_msg END AS out_stock_msg,
COALESCE(p1.product_id, p2.product_id) IS NOT NULL AS options_exist,
i.thumbnail,i.thumbnail_width,i.thumbnail_height,
i.title AS thumbnail_title, i.alt AS thumbnail_alt
FROM
product p
INNER JOIN category_2_product c2p ON p.merchant_id=c2p.merchant_id
AND p.product_id=c2p.product_id
AND c2p.category_id = 84
LEFT JOIN product_image i ON p.merchant_id = i.merchant_id
AND p.product_id = i.product_id
AND i.is_default = 1
LEFT JOIN (
SELECT product_id
FROM product_option
WHERE merchant_id = 116
GROUP BY product_id) p1 on p1.product_id = p.product_id
LEFT JOIN (
SELECT product_id
FROM package_2_product
WHERE merchant_id = 116
GROUP BY product_id) p2 on p1.product_id is null and p2.product_id = p.product_id
WHERE
p.merchant_id = 116
AND FIND_IN_SET('live',p.param) > 0
AND FIND_IN_SET('wholesale-only',p.param) = 0
ORDER BY
p.rank, p.product_name
注意:
on p1.product_id is null
添加到第二个左连接,以防止当 p1 已经有结果时执行它。- group by 子句防止 LEFT JOIN 通过笛卡尔积扩展结果集
This DDL will create a table with enough fields to show the query working without errors.
create table product_option(merchant_id int, product_id int);
create table package_2_product(merchant_id int, product_id int);
create table category_2_product(merchant_id int, product_id int, category_id int);
create table product_image(merchant_id int, product_id int, is_default int,
thumbnail int, thumbnail_width int, thumbnail_height int, title int, alt int);
create table product(merchant_id int, product_id int, in_stock_msg int,
out_stock_msg int, param int, rank int, product_name int);
这个例子中没有任何内容对我有用
for (var i = 0; i < res.results.length; i++) {
$('#list_tags').append('<li class="dd-item" id="'+ res.results[i].id + '"><div class="dd-handle root-group">' + res.results[i].name + '</div></li>');
}
$('.dd-item').click(function () {
console.log($(this).attr('id'));
});
忽略代码中的(MANY)错误,您将 strcpy()
放在正确的位置。
但是,您没有使用正确的参数调用它:strcpy()
需要 2 个参数。
基本上,两者都是 char*
类型;您传递的是 char
和 char*
,这就是编译器抱怨的原因(对于编译器来说,char
的行为类似于 int
所以它说“strcpy 从整数生成指针”)。
您需要检查数据结构并将正确的 char*
传递给 strcpy()
。
您到底看到了什么问题?你尝试了什么?
您能澄清一下这个问题吗,您似乎只是在寻找一种从另一个存储库中提取数据的方法,在这种情况下:
hg pull -r {RevisionYouWantFromOtherRepo} {pathToSecondRepository}
使用 new 关键字初始化它的方式与使用 '=' 直接设置字符串的方式没有区别。内存都是在堆上分配的,因此垃圾收集器负责在内存超出范围时收集内存。唯一的区别是“new”调用构造函数,而如果直接使用 = 赋值,则会调用重载运算符并初始化字符串的新实例。
似乎我的 -Xmx-选项出了问题 - 再试一次,现在可以了。
如果用户调整字段大小,可能是因为他们希望(或需要)它变大1。
在这种情况下,您应该考虑您的用户知道他们在做什么,这样做是因为他们想要/需要,并且他们会接受布局有点损坏,只要它允许他们使用该文本区域。
不过,如果您想这样做(您不应该),请引用如何禁用文本区域调整大小? :
textarea {
resize: none;
}
1.我看得不太清楚,当我缩放或使某些东西更大时,这是因为我也需要 - 并且,在这种情况下,我更喜欢布局有点破损的网站,而不是我无法使用的网站!
您在整个表单中嵌套了额外的表单标签。您只需要一个表单标签。所有输入都在其中。
You're nesting extra form tags throughout your form. You only need one form tag. All of the inputs go inside it.
PHP/HTML 表单提交