大家好我有这个代码:
SqlCommand scom = new SqlCommand(
"INSERT INTO klient(name,surname)
values(@kname,@ksurname)",
conn);
scom.Parameters.AddWithValue("@kname", kname.Text);
scom.Parameters.AddWithValue("@ksurname", ksurname.Text);
conn.Open();
DataTable dt = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM klient", spojeni);
SDA.Fill(dt);
conn.Close();
Run Code Online (Sandbox Code Playgroud)
它应该插入来自文本框的数据:kname,ksurname,但它关闭表单而不在MS SQL表中显示它们klient
我是一名Java开发人员,他只是接受了"一些快速简单的DB内容"的任务 - 除了我对PHP/MySQL不太了解...我需要在数据库中插入一条记录 - 但仅限于电子邮件字段与DB中已存在的字段不匹配.这是我到目前为止为我的PHP代码收集的内容:
// Grab the values from the HTML form:
$newUserName = $_POST['newUserName'];
$newUserName = $mysqli->real_escape_string($newUserName);
$newUserEmail = $_POST['newUserEmail'];
$newUserEmail = $mysqli->real_escape_string($newUserEmail);
// Now search the DB to see if a record with this email already exists:
$mysqli->query("SELECT * FROM RegisteredUsersTable WHERE UserEmail = '$newUserEmail'");
Run Code Online (Sandbox Code Playgroud)
现在我需要查看是否有任何内容从该搜索返回 - 这意味着电子邮件已经存在 - 如果是这样,我需要提醒用户,否则我可以继续使用以下内容将新信息插入到数据库中:
$mysqli->query("INSERT INTO RegisteredUsersTable (UserName, UserEmail) VALUES ('".$newUserName."', '".$newUserEmail."')");
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
试图找出以下代码产生此错误的原因.
您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在''username','password'附近使用正确的语法.)VALUES('Pangamma','39ef1e6d2fb0743000e5956362b6dc55''在第1行
密码,电子邮件和用户都是正确的.数据库设置也是如此.我现在已经在墙上敲了3个小时.可能是一件非常简单的事情.我究竟做错了什么?
/** returns a reason if it fails **/
function addUser($user,$password,$email){
global $db_database;global $tb_logins;global $tb_info; global $tb_licenses;
$licensekey = md5($user.$password.$email);
$hash = md5($user.'please'.$password.'the salt');
if (mysql_num_rows(mysql_query("SELECT * FROM ".$tb_logins." WHERE username='$user'")) > 0){
return 'error : username already in use.';
}
mysql_query("INSERT INTO `$db_database`.`$tb_logins` ( 'username' , 'password' ) VALUES ('$user', '$hash')") or die(mysql_error());
mysql_query("INSERT INTO $tb_info (`username`,`email`,`licensekey`,`limit`) VALUES ('".$user."','".$email."','".$licensekey."','0')") or die(mysql_error());
return 'success!';
}
Run Code Online (Sandbox Code Playgroud) 我想运行此查询
INSERT INTO [tblPollLogs]
([lastModified]
,[ip]
,[a1]
,[a2]
)
VALUES
(getdate()
,'aaa'
,(select top 1 header from [tblPollAnswer] where [pollAnswerId] = @param1)
,(select top 1 header from [tblPollAnswer] where [pollAnswerId] = @param2)
)
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误
在此上下文中不允许子查询.只允许标量表达式.
我可以在一个查询中运行此查询,或者我需要在运行此查询之前获取值
谢谢
我有一个表DateID只有两个字段:
id(整数),日期(datetime)
id date
1 2013-06-27 12:00:00
2 2013-06-27 12:00:00
Run Code Online (Sandbox Code Playgroud)
我只需要一个查询就可以用2个新行填充表格.可能吗?
数据:
id =1 date= 2013-06-27 12:00:00;
id =1 date= 2014-06-27 12:00:00;
$insert = mysql_query("INSERT INTO DateID(id,)
values ('1','20141127120000,20161027120000')");//is this possible?
Run Code Online (Sandbox Code Playgroud) 当我尝试插入地图时出现分段错误.
该函数看起来像这样:
void add(std::string id, std::string name)
{
Asset asset(nullptr, false, name);
mAssets.insert(std::make_pair<std::string, Asset>(id,asset)); <-- This line gives segfault
}
Run Code Online (Sandbox Code Playgroud)
简单声明了mAssets
std::map<assetID, Asset> mAssets;
Run Code Online (Sandbox Code Playgroud)
而Asset类(sloppy)声明如下:
class Asset
{
public:
Asset(T* a, bool l, std::string f) : asset(a), loaded(l), filename(f)
{
}
Asset(const Asset& copy)
{
loaded = copy.loaded;
filename = copy.filename;
asset = new T();
*asset = *copy.asset;
}
~Asset()
{
delete asset;
}
Asset& operator=(const Asset& other)
{
Asset temp(other);
loaded = temp.loaded;
filename = temp.filename;
std::swap(asset,temp.asset);
return *this; …Run Code Online (Sandbox Code Playgroud) 请解释为什么以下代码按预期工作(元素添加到第二个位置):
std::vector<int> v(5);
for(int i = 0; i < 5; i++)
v[i] = i;
std::vector<int>::iterator it = v.begin()+1;
it = v.insert(it, 33);
cout << v[0] << " " << v[1] << " " << v[2] << " " << v[3] << " " << v[4] << endl;
//outs: 0 33 1 2 3
Run Code Online (Sandbox Code Playgroud)
并且以下不会(元素在第一个位置添加):
std::vector<int> v;
v.reserve(5);
for(int i = 0; i < 5; i++)
v[i] = i;
std::vector<int>::iterator it = v.begin()+1;
it = v.insert(it, 33);
cout << v[0] << …Run Code Online (Sandbox Code Playgroud) 我试图通过向量反向迭代.我使用typedef"制作"了一个迭代器:
typedef std::vector<Object*>::iterator Cursor;
Run Code Online (Sandbox Code Playgroud)
我的问题是,当它到达向量的开头时,这个函数似乎崩溃了.我有以下代码:
void InsertFunc(Cursor& it, Object& o) {
vec_.insert(it, o);
--it;
for (; it >= vec_.begin(); --it) {
if ((*it)->type() == Object::SomeType) {
do_something
} else {
do_something_else
}
}
std::cout << "Insertion succes!" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
我已经测试过了,我肯定知道函数到达向量的开头,然后程序才会终止并且消息"Insertion succes!" 永远不会打印.知道为什么吗?
查看以下代码块:
string[] _array = new string[] { "a", "b", "c" };
List<string> _listArray = new List<string>() { "a", "b", "c" };
//Why Invalid?
_array.Add("e");
_array.Insert(4, "e");
//Allowed for list.
_listArray.Add("e");
_listArray.Insert(4, "e");
Run Code Online (Sandbox Code Playgroud)
我正在尝试从我的select语句中插入行.但是我FROM在语句的第一个语法中遇到语法错误.我究竟做错了什么?
INSERT INTO [dbo].[OrganizationControlGroup]
VALUES
(
OrganizationId,
9999,
NULL,
CONVERT(DATE,SYSDATETIME()),
NULL,
CONVERT(DATE,SYSDATETIME())
)
FROM
(
SELECT TOP 450 o.OrganizationId
FROM Organization o
WHERE NOT EXISTS
(
SELECT *
FROM OrganizationControlGroup c
WHERE c.OrganizationId = o.OrganizationId
)
)
Run Code Online (Sandbox Code Playgroud)