小编Joh*_*ohn的帖子

对两个表的SQL查询 - 返回一个表中没有另一个表的行

我有两个数据库表,Categories和SuperCategories,用于我正在研究的库存控制系统:

类别:ID_Category,CategoryName

超类别:ID_SuperCategory,CategoryID,SuperCategoryID

我将category-subcategory关系放入SuperCategories表中.我将所有类别放入Categories表中.

这是一个例子:

    Categories:
    ID_Category CategoryName
    1           Box
    2           Red Box
    3           Blue Box
    4           Blue Plastic Box
    5           Can
    6           Tin Can  
    
    SuperCategories:
    ID_Super CategoryID SuperCategoryID
    1        2          1
    2        3          1
    3        4          3
    4        6          5

CategoryID和SuperCategoryID与Categories表中的主键ID_Category相关.

我想要的是一个返回所有不是任何其他类别的父类别的类别名称的查询:

红盒
蓝色塑料盒
锡罐

这相当于查找未显示在SuperCategoryID列(2,4和6)中的所有ID_Category值,但我在编写SQL时遇到问题.

我正在使用VB6来查询Access 2000数据库.

任何帮助表示赞赏.谢谢!

编辑:我投了大家的答案给了我一些有用的东西.我接受了我觉得最有启发性的答案.再次感谢你的帮助!

sql

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

创建无法在历史日期工作的软件是不好的做法?

这是让我想到这一点的确切情况.

我有自动生成下一个逻辑项目编号的功能.该项目编号的一部分包括项目编号的创建年份.我们现在在2010年,所以日期中最重要的部分(为了我的项目编号)是"10"并且是两个字符长.如果我的程序碰巧在2009年执行,它是当前编码的方式,我会得到一个错误的项目编号,因为我的系统期望两位数的日期(10)而不是一个数字(9).

我的问题根本不是关于我的具体情况,是否做一个字符串操作是一个好主意:)但更多的是基于我的标题中陈述的原则.编写在历史记录中无法正常运行的软件是不是一个坏主意?您是否遇到过类似情况,您采取了什么路线?为什么?

language-agnostic

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

如何按成绩对学生记录数组进行排序

嘿所有,我现在正在考试,我似乎无法理解这个概念.问题是,如果您给出了一系列学生记录,记录成员是学生姓名和成绩,您如何按年级对其进行排序.教授给出了他称之为"分布计数排序"的例子.我无法理解它,并希望有人可以给我下面的代码的伪代码或算法,谢谢:)

Function Distribution_counting_sort(S, n){
//Input: a student array S of n records
//Output: a sorted array (wrt grade) NS
int count[101]; /*init to 0’s */
/* counting */
for (i = 0; i < n; i++) count[S[i].grade]++;
/* accumulating */
count[0]--;
for (i = 1; i < 101; i++) count[i] = count[i -1] + count[i];
/* distribution */
for (i = 0; i < n; i++) NS[count[S[i].grade]--] = S[i];
Run Code Online (Sandbox Code Playgroud)

c sorting pseudocode

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

对于中级php程序员来说,最适合开始编程(java vs c#)

我是一名php程序员,既没有java也没有c#(sharp)的编程经验.我的目标是学习两种语言Java和C#,所以我找一个有经验的程序员谁拥有这两种语言的深入了解建议我先启动其中之一,以使我的学习过程更加轻松,帮助我掌握快上第二语言,一旦我完成了第一语言.(例如,一些人觉得它更容易时,他们学习困难的语言第一或因此一旦他们通过,他们开始第二个,他们找到像在公园散步的学习过程中具有更多的功能和编程方面的)

php c# java

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

数据库是如何被黑客入侵的?关于加盐等的问题

请耐心等待,我只学习 PHP 几个星期,所以示例代码可能会让我感到困惑。我想我终于明白加盐了!这是为了保护数据库内的密码(如果遭到破坏)。

我不明白的是,如果黑客试图找出用户的密码(假设这是他们的目标),为什么他们必须破解哈希值?这不是更容易吗?防止密码猜测的唯一方法是限制每天输入 X 次密码或验证码吗?

数据库首先是如何被黑客入侵的?是更多的密码猜测还是可以通过MySQL注入获得哈希值?

谢谢!

php security salt brute-force

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

这个功能正在检查什么?

我正在尝试将一些PHP代码移植到C#,我遇到了这种形式的PHP函数:

function DoStuff($myVar, array $myArray1, array $myArray2 = array())
{
    // some code not involving $myArray2

    if ($myArray2)
    {
        // do things with $myArray2, but if I arrive here, what
        // condition was met?
    }
} 
Run Code Online (Sandbox Code Playgroud)

在查看php.net中的一些适当的页面后,我最好的猜测(这可能是完全错误的)是关于发生了什么:

  • $myArray2 是可选的,但如果没有提供任何内容,则数组将为空
  • if有条件的检查,看是否$myArray2与一个或多个元素来传递

它是否正确?如果没有,那是对的?谢谢!

php arrays arguments function

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

确保VS 2008将我的项目视为C++而不是C++/CLI

我正在使用原生C++在Visual Studio 2008中工作.

一位同事写了一个图书馆,并将他的一个课程命名为interface.这是一个构造函数:

template <typename DtedInterface>
interface<DtedInterface>::interface (
    std::string const& tleFile,
    std::string const& dtedDir,
    dted::DtedLevel const& dtedLevel,
    double sw_latitude,
    double sw_longitude,
    unsigned int rows,
    unsigned int columns )
    : m_impl ( new interface_impl<DtedInterface> ( theFile, dtedDir, dtedLevel, sw_latitude, sw_longitude, rows, columns ) )
  {}
Run Code Online (Sandbox Code Playgroud)

我关心的是Visual Studio 2008将该单词突出显示interface为关键字; interface是C++/CLI中的关键字,但不是C++.这看起来不像是有效的C++/CLI,但它适用于本机C++.

看起来它们编译得很好,但是如何确保Visual Studio将其解释为C++而不是C++/CLI?在某种程度上,VS似乎将其视为C++/CLI.它只是一个突出显示设置的关键字吗?

c++ text-editor keyword visual-studio-2008 visual-c++

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

如何处理php中表单中未知数量的项目

致力于为工作制作库存页面.我写了一个页面,它将遍历我的数据库并显示其中的所有项目.

include 'auth.php'; //to change login, please authenticate 
$sql="SELECT * FROM `inventory` ORDER BY `id` asc;";
$result=mysql_query($sql);
while($rows = mysql_fetch_array($result)){
echo    $rows["name"];
<input type="text" name="<? echo $rows["id"];  ?>" id="<? echo $rows["id"] ?>" placeholder="Who will go in here?" />
}
Run Code Online (Sandbox Code Playgroud)

上面的代码正在做我想要的.我想把它放在一个表单中,并有一个提交按钮.让我们说表格是

<form method="POST" action="page.php">
Run Code Online (Sandbox Code Playgroud)

现在我希望能够编写一个page.php,以便它可以处理所有数据而不管项目数量.在过去,我做了以下几点

$fname=$_POST['fname'];
$lname=$_POST['lname'];
$phone=$_POST['phonenum'];
$email = $_POST['email'];
$age = $_POST['b18'];
Run Code Online (Sandbox Code Playgroud)

但这不会起作用,因为我会有一个未知数量的帖子.请写下您喜欢的任何代码.我更喜欢文档页面.

html javascript php mysql dynamic

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

重复加密数据 - 红旗?

我有一些base-64编码的加密数据,并注意到相当多的重复.在(大约)200个字符长的字符串中,某个base-64字符在几次单独的重复运行中重复多达7次.

这是加密问题的红旗吗?根据我的理解,加密数据永远不会显示重复,即使明文是完全统一的(即使我加密2 GB除了字母A之外,加密版本中不应该有重大的重复).

encryption cryptography cryptanalysis

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

通过编程添加checked = true

我一直在通过编程向工具条添加项目,但问题是我需要向其添加checked属性.不知道该怎么做.这是代码:

toolStripMenuItemAudioSampleRate.DropDownItems.Add("8 kHz", null, new EventHandler(mnuAudioSamplingRate_Click));
toolStripMenuItemAudioSampleRate.Checked = (samplingRate == 8000);//Checks if the there is no vid device
Run Code Online (Sandbox Code Playgroud)

现在我知道它会工作错误,因为我已经将check属性添加到toolStripMenuItemAudioSampleRate8 kHz.我试图将此属性添加到动态添加的项目.

提前致谢.

c# toolstrip checked

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