我想创建一个具有特定顺序的数据库(我正在使用mongodb)集合,该集合也可以重新排列.例如,如果我有
[A,B,C,D,E]
Run Code Online (Sandbox Code Playgroud)
我可以将E移到第三个位置,顺序就是
[A,B,E,C,D]
Run Code Online (Sandbox Code Playgroud)
我想尽可能少地更改对象,因此在每个对象上放置一个索引将不起作用(因为我需要更改所有后续元素的索引以进行简单的移动).
我还可以像链接列表一样创建对象,因此每个对象都具有前一个和下一个对象的id.示例更改将如下所示.
["A":{prev:null, next:"B"},
"B":{prev:"A", next:"C"},
"C":{prev:"B", next:"D"},
"D":{prev:"C", next:"E"},
"E":{prev:"D", next:null}]
Run Code Online (Sandbox Code Playgroud)
会变成
["A":{prev:null, next:"B"},
"B":{prev:"A", next:"E"},
"C":{prev:"E", next:"D"},
"D":{prev:"C", next:null},
"E":{prev:"B", next:"C"}]
Run Code Online (Sandbox Code Playgroud)
对于任何大小的集合,这最多可以更改5个对象.更改可以表示为一个更新的对象,并使用一些逻辑来确定需要更新的其他对象.这是可行的,但我想知道是否有比这更好的方法.有没有更简单的方法来跟踪任意列表的顺序?
我试图从C#winform在我的访问数据库中插入一个图像.我使用以下代码:
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb");
OleDbCommand cmd = con.CreateCommand();
cmd.CommandText = "INSERT INTO Table1 (Product, Manufacturer, Description, Price, Image) VALUES ('Column1', 'Column2', 'Column3', 'Column4', @img)";
byte[] yourPhoto = imageToByteArray(pictureBox1.Image);
cmd.Parameters.AddWithValue("@img", yourPhoto);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
public byte[] imageToByteArray(System.Drawing.Image iImage)
{
MemoryStream mMemoryStream = new MemoryStream();
iImage.Save(mMemoryStream, System.Drawing.Imaging.ImageFormat.Png);
return mMemoryStream.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,它向我显示一个错误:Syntax error in INSERT INTO statement.
我的代码中有什么问题?我可以使用相同的查询成功地将文本插入到数据库的字段中.
请建议如何在joomla中编写以下UPDATE查询AND.
码:
$query = JFactory::getDbo()->getQuery(true);
$db =& JFactory::getDBO();
$query->update('table1');
$query->set('id = ' . $db->quote($idname));
$query->set ('day='. $db->quote($this->_day));
$query->set('id2 = ' . $id2);
$query->where('id = '. (int)$idname)
AND('id2=' .(int)$id2 );
Run Code Online (Sandbox Code Playgroud)
更新失败,错误是这样的:
//........[something before ]....
array(3) {
[0]=>
string(11) "id = '1'"
[1]=>
string(14) "id2='2'"
[2]=>
string(17) "date = 2012-04-02" [it seems i got all the value pass to be update]
}
["glue:protected"]=>
string(4) "
, "
}
["where:protected"]=>
object(JDatabaseQueryElement)#251 (3) {
["name:protected"]=>
string(5) "WHERE"
["elements:protected"]=>
array(1) { …Run Code Online (Sandbox Code Playgroud) 有没有人知道使用BoneCP来记录连接池数据(即打开和空闲数据库连接的数量)?使用我正在迁移的C3P0很容易实现(实际上这些信息默认记录在那里)但是看起来很难获得唱歌BoneCP.现在我在日志中看到的是原始SQL语句.
如何NULL在MS Visual Studio表编辑器中输入数据库表格单元格的值?
我在一个名为Points的表中有2列.2列是UserPoints和UserID.
我希望能够回显用户拥有的总积分数.
我有类似的东西,但我认为没错.
$getTotalPoints = mysql_query("SELECT SUM(UserPoints) FROM `Points` WHERE `UserID` = '1'") or die(mysql_error());
$totalPoints = mysql_fetch_array($getTotalPoints);
Run Code Online (Sandbox Code Playgroud)
当我通过回显"$ totalPoints"来回应上述陈述时,我得到"数组".
有人知道正确的查询吗?
我们的客户遇到了一些不一致数据的问题,我们给了他们一个查询来修复它.
现在,在运行查询之前,客户要求我提供一个查询,该查询将提供运行该查询所需的临时空间.这实际上很重要,因为此查询可能会影响表中的许多条目.
以下是我发送给他们修复问题的查询:
declare
cursor cur is select distinct SEQID from D_LEAD where SEQID IN( SELECT SEQID FROM D_LEAD WHERE CURR_FLAG = 1 GROUP BY
SEQID HAVING COUNT(SEQID) >1);
seq NUMBER;
begin
open cur;
loop
fetch cur into seq;
update D_LEAD set CURR_FLAG = 0 where LEAD_ID IN (SELECT LEAD_ID FROM D_LEAD WHERE ((LEAD_ID != (SELECT MAX(LEAD_ID) FROM D_LEAD WHERE SEQID=seq)) AND SEQID=seq));
exit when cur%NOTFOUND;
end loop;
close cur;
commit;
end;
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我需要使用java将excel表中的数据上传到数据库.
数据库将是oracle.
用户使用Web应用程序(Spring MVC前端)每月上传一次excel表.
excel表将具有数千个记录/行,例如大约15000或更多.
请帮忙/
以下是两个用于相同目的的查询示例(在此示例中,我希望对来自Patriks居住的同一城市的推销员进行优秀.)
select *
from salesman
where salesman.city =
( select city
from salesman
where salesman_name='Patriks'
);
Run Code Online (Sandbox Code Playgroud)
和
select s1.*
from salesman s1,salesman s2
where s1.city=s2.city
and s2.salesman_name='Patriks';
Run Code Online (Sandbox Code Playgroud)
哪个更好或更有效?为什么?(我知道这是一个很小的例子,但我想弄清楚,在复杂情况下这对于大数据库来说会很好.)
我现在有一张大约有10万行的表.我想在Solr索引中索引此表中的数据.
所以天真的方法是:
我能想到的这种方法存在的一些问题是:
但是,一些优点:
这种方法不可扩展,我看到,因为随着表的增长,内存需求和POST请求的大小也会增加.我需要采取n行数,处理它们,然后采取下一行n?
我想知道是否有人对如何最好地实现这一点有任何建议?
(ps.我确实搜索过该网站,但我没有发现任何类似的问题.)
谢谢.