这对JAVA专家来说可能是一个简单的问题,但我比较新,所以我想我会问.我需要测试字符串X是否存在于集合中.我不需要任何相关的值或索引,我也不需要任何订单.我只需要知道它是否存在.我知道这可以使用HashMap或ArrayList来实现,但这些看起来有点过分.该怎么办?只是一个清单?或者是否有更基本的东西可以达到同样的目的.测试给定集合中是否存在某些字符串X的最快方法是什么?
我用来Directory.Exists()
检查文件夹是否存在,但遇到该方法失败。我的命令是:
if (Directory.Exists(myFolder) == false)
{
MessageBox.Show(myFolder, "Invalid Log Folder path", MessageBoxButtons.OK, MessageBoxIcon.Hand);
}
if (Directory.Exists(myFolder) == true)
{
MessageBox.Show(myFolder, "Valid Folder path");
}
Run Code Online (Sandbox Code Playgroud)
当 myFolder 为 时,C:\Documents and Settings\UserID\My Documents
它返回TRUE
。
当 myFolder 是时C:\Documents and Settings\xxx\My Documents
,它返回FALSE
(假设xxx
不存在)。
但是,当 myFolder 为 时,C:\\Documents and Settings\UserID\My Documents
它也会返回TRUE
.
旁边的双反斜杠C:
必定使测试无效。然而,Directory.Exists()
却没有认识到这一点。
使用更多\
它仍然遇到同样的问题。
我只是无法理解这种失败是如何发生的。我正在使用 VS2008 和 .NET 3.5。
我有一个大问题......我有一个数据库java程序创建。
我想知道数据库是否存在,如果存在只是连接,如果不创建它。
我试过这个:
if (dbName.exists() == false) {}
Run Code Online (Sandbox Code Playgroud)
这就是全部代码...
Class.forName("com.mysql.jdbc.Driver");
System.out.println("MySQL JDBC driver loaded ok.");
Run Code Online (Sandbox Code Playgroud)
这是它的备份代码,只是为了现在工作......部分代码有效!
conn = DriverManager.getConnection(DBurl + url
+ "?createDatabaseIfNotExist=true& + "
+ "useUnicode=true&characterEncoding=utf-8&user="
+ userName + "&&password=" + password);
System.out.println("Connected to database ");
System.out.println("Connected to the database " + url);
Run Code Online (Sandbox Code Playgroud)
但我想要这样的东西:
FILE dbName = new FILE (url);
Statement stmt = new Statement;
if (dbName.exists() == true)
System.out.println("Database exists ! Connecting ... ");
else {
String sql = "CREATE DATABASE "+url;
stmt.executeUpdate (sql);
}
Run Code Online (Sandbox Code Playgroud)
我不想将带有密码和用户名的 url 放在同一个地方......因为它们是从外部提供的,但这已经实现并有效。 …
使用以下查询,
SELECT *
FROM product
WHERE sale_price IN(SELECT max(sale_price)
FROM product)
Run Code Online (Sandbox Code Playgroud)
返回指定 tablesale_price
中 type 列中具有最大值的行。DECIMAL(35,2)
product
是否可以使用EXISTS()
可以返回相同结果的方式重写此查询-product
表中的一行在列中具有最大值sale_price
?
SELECT *
FROM product p
WHERE EXISTS(SELECT max(pp.sale_price)
FROM product pp
WHERE p.prod_id = pp.prod_id)
Run Code Online (Sandbox Code Playgroud)
像这样重写查询是不正确的,并根据与该表中每一行匹配的条件返回给定表中的所有行。
我们能理解是否存在提及/创建/存在的变量?
我的意思是这样的:
//..Some codes
int main(){
int var1;
float var2;
char var3;
cout << isExist("var1") << endl;//Or isExist(/*Something related with var1*/)
cout << isExist("var2") << endl;
cout << isExist("var3") << endl;
cout << isExist("var456") << endl;//There is no variable named with var456
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
true
true
true
false
Run Code Online (Sandbox Code Playgroud) 你知道为什么下面的代码在ms sql server上是错误的吗?
DROP TABLE [IF EXISTS] database.table1,
create table table1 (...)
Run Code Online (Sandbox Code Playgroud) itemTable
如果iid
相关表上存在匹配的行,我正在尝试更新 a 上的列。
itemMeta
是一个 NoSQL 风格的表,表上iid
每一项都有重复的s,itemTable
是一个关系表。
update itemTable it
set hasAttributes = (select
case when select count(1) from itemMeta where (im.iid = it.iid)
then 'Y'
else 'N' end)
from itemMeta im
where (im.iid = it.iid)
Run Code Online (Sandbox Code Playgroud)
如何将列设置为Y
上itemTable
,如果有匹配的行iid
上存在itemMeta
?
我想检查页面中是否存在html元素.
var e = document.getElementById("test-node");
if(e == null)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
但上面的代码不起作用.如何检查此元素是否存在?任何建议将不胜感激.
在我的程序中,用户完成一个表单然后按下Submit.然后,创建文本文件或随机扩展文件,其中写入所有用户的信息.因此,每当用户运行应用程序表单时,它将检查是否存在具有所有信息的文件,然后复制信息并将其粘贴到表单中.但是,它由于某种原因不起作用(没有语法错误):
procedure TForm1.FormCreate(Sender: TObject);
var
filedest: string;
f: TextFile;
info: array[1..12] of string;
begin
filedest := ExtractFilePath(ParamStr(0)) + 'User\Identity\IdentityofMyself.txt';
if FileExists(filedest) then
begin
AssignFile(f,filedest);
Reset(f);
ReadLn(info[1], info[2], info[3], info[4], info[5], info[6], info[7],
info[8], info[9], info[10], info[11], info[12]);
Edit1.Text := info[1];
Edit2.Text := info[2];
ComboBox1.Text := info[3];
ComboBox5.Text := info[4];
ComboBox8.Text := info[4];
ComboBox6.Text := info[5];
ComboBox7.Text := info[6];
Edit3.Text := info[7];
Edit4.Text := info[8];
Edit5.Text := info[11];
Edit6.Text := info[12];
ComboBox9.Text := info[9];
ComboBox10.Text := info[10];
CloseFile(f);
end …
Run Code Online (Sandbox Code Playgroud) exists ×9
sql ×3
java ×2
sql-server ×2
c ×1
c# ×1
c++ ×1
case ×1
create-table ×1
database ×1
delphi ×1
directory ×1
element ×1
javascript ×1
mysql ×1
save ×1
set ×1
sql-update ×1
subquery ×1
variables ×1