小编Jaz*_*azz的帖子

没有SQL的RDBMS

是否存在没有SQL的RDBMS。我不是在谈论NoSQL以及所有XML和Javascript对象数据类型。

我的意思是像不是通过SQL来指示数据库,而是通过一些API来指示数据库。根本不应该有SQL。

我的意思是像MS过去那样拥有ADO对象,而这些对象具有执行SQL当前所做的所有工作的方法。

而且我不是要一个ORM框架。框架只是在内部创建和调用SQL代码。我不想要那个。我想要直接与数据库对话的直接函数或方法调用。


我进入Windows平台。我希望RDBMS支持的语言是PHP和Python。也许还有C#。

我要管理的数据是日常SQL-RDBMS处理的所有内容。

是的,我希望DBMS管理实体关系。但是我不希望出现SQL。

我没有为任何人做项目。只是出于品味或喜好,避免从一个级别/语言跳到另一个级别/语言。

我尝试在google上搜索,但是它只会导致我不喜欢的NoSQL。


编辑... 2017年8月6日:很抱歉,如果我在发帖时惹恼了任何人。当时我处于生活中的困境。抱歉。我主要关心的是SQL注入,我认为可以采用一种简单的基于对象/基于API的API。

rdbms

6
推荐指数
2
解决办法
1157
查看次数

有或没有javax.swing.text.Document

鉴于

JTextArea t = new JTextArea();
Document d = t.getDocument();
String word1 = "someWord";
String word2 = "otherWord"
int pos = t.getText().indexOf(word1,i);
Run Code Online (Sandbox Code Playgroud)

有什么区别......
这个

if(pos!= -1){
    t.replaceRange(word2.toUpperCase(), pos, pos+ word1.length());
}
Run Code Online (Sandbox Code Playgroud)

还有这个

if(pos!= -1){
    d.remove(pos, word1.length());
    d.insertString(pos, word2.toUpperCase(), null);
}
Run Code Online (Sandbox Code Playgroud)

java swing jtextarea

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

使用Ruby中的"+"文件IO模式替换文件中的一行

Ruby初学者在这里!

我知道Ruby的File.open方法有某些模式,如r,w,a,r +,w +,a +和免费的b.我完全理解r,w和模式的使用.但我似乎无法理解如何使用带有"+"符号的那些.任何人都可以提供一些链接,其中有例子和解释使用它吗?

是否可以用它来读取一行并用相同数量的内容编辑/替换它?如果是这样,那怎么样?

示例数据文件:a.txt

aaa
bbb
ccc
ddd
Run Code Online (Sandbox Code Playgroud)

Demo.rb

file = File.open "a.txt","r+"
file.each do |line|
  line = line.chomp
  if(line=="bbb")then
  file.puts "big"
  end
end
file.close
Run Code Online (Sandbox Code Playgroud)

我试图用"大"替换"bbb",但我得到了这个: - 在记事本++中

aaa
bbb
big

ddd
Run Code Online (Sandbox Code Playgroud)

在记事本中

aaa
bbb
bigddd
Run Code Online (Sandbox Code Playgroud)

ruby file-io file

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

缓冲区溢出是否发生在C++字符串中?

这与C++中的字符串有关.我很长时间没有接触过C/C++; 事实上,大约7年前,我只在大学的第一年用这些语言编程.

在C中保存字符串我必须创建字符数组(无论是静态的还是动态的,都不需要考虑).这意味着我需要提前猜出数组将包含的字符串的大小.我在C++中应用了相同的方法.我知道有一个std :: string类但我从来没有使用它.

我的问题是,因为我们从未在std :: string类中声明数组/字符串的大小,所以在写入时会发生缓冲区溢出.我的意思是,在C中,如果数组的大小是10并且我在控制台上键入了超过10个字符,那么额外的数据将被写入到与数组相邻的其他对象的内存位置.使用cin对象时,std :: string中是否会发生类似的事情.

使用std :: string时,我是否必须在C++之前猜测字符串的大小?

好!谢谢大家.这个页面上没有一个正确的答案(提供了很多不同的解释),所以我没有选择任何一个这样的答案.我很满意第一个5.小心!

c++ string buffer-overflow

4
推荐指数
3
解决办法
6322
查看次数

Python中的全局变量

我是Python的新手.尚未学过的课程.使用Python 3.2.2.尝试实现一些程序C逻辑.我的代码分布在2个文件中,如下所示.

这个文件叫做date.py

dd,mm,yy=0,0,0

def isValidDate(d,m,y):
    if(d>=1 and d<=31 and m>=1 and m<=12):
        dd,mm,yy=d,m,y #problem
        print(dd,mm,yy) #problem
        print(d,m,y) #problem
        return True
    else:
        return False

def printDate():
    print(dd,mm,yy) #problem
Run Code Online (Sandbox Code Playgroud)

这个文件叫做module1.py

import date

def main():
    dd,mm,yy = 23,1,1984
    valid = date.isValidDate(dd,mm,yy) #problem
    print (valid)
    date.printDate()
    date.dd=22 #problem
    date.printDate()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

我评论为"问题"的线条给我带来了问题.

module1.py(即"date.dd=22")中的语句执行时,全局变量的值date.py将更改为22并保持该方式.

但是当我调用该isValidDate()函数时,即使测试条件通过,分配似乎也不是永久性的.isValidDate()函数中的本地print语句显示"dd"赋值,但在main()函数中,调用printDate()显示原始值.

到底是怎么回事?

python global-variables python-3.x

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

errno == ENOENT 足以检查文件是否存在于 C 中吗?

在 Windows 8.1 上使用 PellesC。

我知道这个话题已经被讨论过很多次并有很多解决方案。CreateFile我已经阅读了说明、PathFileExists、的用法的解决方案GetFileAttributes_access我有些理解。

我还在问题“检查文件是否存在的最快方法”“检查 C 中文件是否存在的最佳方法”的答案中阅读了有关竞争条件的重要观点。(跨平台)

因此,如果我使用 C 打开一个文件fopen(),当它失败(出于任何原因)并返回时NULL;然后我可以进一步检查errno == ENOENT并满足它并正确报告该文件不存在。

#include <stdio.h>
#include <string.h>
#include <errno.h>

int file_exists(char filename[]) {
    int err = 0; //copy of errno at specific instance
    int r = 0;   //1 for exists and 0 for not exists
    FILE *f = NULL;

    //validate
    if (filename == NULL) {
        puts("Error: bad filename.");
        return 0;
    } …
Run Code Online (Sandbox Code Playgroud)

c file errno

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