如果您对PDO和MicrosoftSQL:必须声明表变量“P1”。感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于PDO和MicrosoftSQL:必须声明表变量“P1”。的
如果您对PDO和Microsoft SQL:必须声明表变量“ P1”。感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于PDO和Microsoft SQL:必须声明表变量“ P1”。的详细内容,我们还将为您解答sql必须声明标量变量是什么意思的相关问题,并且为您提供关于### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 &qu...、2022年Microsoft Office 365、Microsoft 365商业版比现在更、asp.net – 错误:必须声明标量变量“@data”、asp.net-mvc – 在Mono 2.4上使用Microsoft Data Entity Framework和Microsoft MVC的有价值信息。
本文目录一览:- PDO和Microsoft SQL:必须声明表变量“ P1”。(sql必须声明标量变量是什么意思)
- ### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 &qu...
- 2022年Microsoft Office 365、Microsoft 365商业版比现在更
- asp.net – 错误:必须声明标量变量“@data”
- asp.net-mvc – 在Mono 2.4上使用Microsoft Data Entity Framework和Microsoft MVC
PDO和Microsoft SQL:必须声明表变量“ P1”。(sql必须声明标量变量是什么意思)
我试图在PDO中使用绑定从Microsoft SQL数据库中选择一些条目。我使用的代码看起来与文档中的代码相似。但是,当我运行它时,出现以下警告:
警告:PDOStatement :: execute()[pdostatement.execute]:SQLSTATE
[42000]:语法错误或访问冲突:1087 [Microsoft] [SQL Native Client] [SQL Server]必须声明表变量“
@ P1”。(第40行上的(长文件路径)中的(SQLExecute [1087]在ext \ pdo_odbc \ odbc_stmt.c:254处)
以下是相关代码:
$table = "[User Site]";$user = "demo";$sql = "SELECT * FROM ? WHERE user=''?''"; $sth = $db->prepare($sql);$sth->bindValue(1, $table, PDO::PARAM_STR);$sth->bindValue(2, $user, PDO::PARAM_STR);$sth->execute(); // <-- line 40$data = $sth->fetch(PDO::FETCH_ASSOC);
这可能是相关的。当我尝试使用命名参数标记(:table,:user)而不是问号时,我得到了:
警告:PDOStatement :: bindValue()[pdostatement.bindvalue]:SQLSTATE
[HY093]:无效的参数编号:在第39行的(长文件路径)中未定义参数
为什么不喜欢我准备好的陈述?
答案1
您无法在SQL中将参数绑定到表名。在任何语言,任何数据库中都是如此。
您必须在之前将表名称插入查询字符串中prepare()
。
此外,即使参数占位符是字符串或日期值,也不应将其置于引号内。引号内的参数占位符被解释为文字字符串。否则,您将如何输入文字问号?
这是我的写法:
$table = "[User Site]";$user = "demo";$sql = "SELECT * FROM $table WHERE user=?"; $sth = $db->prepare($sql);$sth->execute(array($user));$data = $sth->fetch(PDO::FETCH_ASSOC);
我不介意使用bindParam()
或bindValue()
。通常,将数组参数中的参数值传递给会更容易execute()
。
### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 &qu...
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,【??】,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@P23@P24"。
### The error may involve com.foen.cloud.mapping.CustMemoMapper.insert-Inline
### The error occurred while setting parameters
### SQL: insert into ERP_BASIC_CUS_Memorandum(djno,custno,custname,sales_company_projectno,Projectname,Contact_phone,contractno,Contact,Contact_account,ywy,qyjl,kfzy,qht,shop_number,project_area,qyzzwj,if_idcard,sales_area,hb,province,prefecture_level_city,county_level_city,Delivery_address,aluminum_lb,aluminum_fs,weight_jsfs,aluminum_lb_shop,pj_price_type,if_deposit,contract_dt,if_js_days,receivment_no,ztz,bhm,ssm,fwbz,gsc,zzm,bz_number,qtyq,bzfs,all_number,out_day,if_stop,begin_date,end_date,validity,ex_ysdm,kaifa_company,yfzf,wd_xl,lrj,lrj_price,cust_class,modifier,modify_dt,oper,date1)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,??,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@P23@P24"。
; uncategorized SQLException for SQL []; SQL state [S0002]; error code [137]; 必须声明标量变量 "@P23@P24"。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@P23@P24"。
2022年Microsoft Office 365、Microsoft 365商业版比现在更
2022年Microsoft Office 365、Microsoft 365 现在更贵
微软已宣布 Microsoft 365 和 Office 365 的商业和商业版本的价格上涨,该公司强调教育和消费者不会发生任何变化。
不过,新价格也将在六个月后生效,微软表示,它们不仅适用于美国,而且适用于世界各地,每个地区都会有明显的调整。
然而,值得一提的是,这是微软 10 年来(自 Office 365 首次亮相以来)第一次真正提高生产力套件的价格。
“我们宣布对 Microsoft 365 的商业定价进行更改——这是自十年前我们推出 Office 365 以来的第一次实质性定价更新。这一更新的定价反映了我们在过去 10 年中为客户提供的价值增加,”Microsoft 365 企业副总裁 Jared Spataro 解释说。
涨价只针对商业和商业用户
宣布的提价针对以下产品:
• Microsoft 365 商业基础版(每位用户 5 美元到 6 美元)
• Microsoft 365 商业高级版(从 20 美元到 22 美元)
• Office 365 E1(从 8 美元到 10 美元)
• Office 365 E3(从 20 美元到 23 美元)
• Office 365 E5(从 35 美元到 38 美元)
• Microsoft 365 E3(从 32 美元到 36 美元)
自 2020 年初以来,由于全球健康问题,Microsoft 365 服务的采用率猛增,整个世界都在过渡到远程工作并拥抱产品,这些产品使他们即使在安全的家中也能保持生产力。
微软也承认像 Microsoft Teams 这样的平台在采用方面取得了巨大的成功,该公司甚至转向了更积极的优化,以确保所有这些服务对世界各地的订阅者保持在线状态,特别是考虑到某些地区的活跃用户数量不断增加地区。
asp.net – 错误:必须声明标量变量“@data”
OleDbCommand cmd = new OleDbCommand(); cmd.Connection = Connection; cmd.CommandTimeout = 0; string commandText = "update groups set subjectline ='" + txtSubjectLine.Text + "',data= @data where groupid = " + ddlGroup.SelectedItem.Value + " "; cmd.CommandText = commandText; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@Data",OleDbType.VarBinary); cmd.Parameters["@Data"].Value = binarydata; cmd.ExecuteNonQuery();
解决方法
string commandText = "update groups set subjectline ='" + txtSubjectLine.Text + "',data= @data where groupid = " + ddlGroup.SelectedItem.Value + " ";
同
string commandText = "update groups set subjectline ='" + txtSubjectLine.Text + "',data= ? where groupid = " + ddlGroup.SelectedItem.Value + " ";
也就是说,将“@data”替换为“?”在命令文本中.这是使用OleDbCommand指定参数占位符的方法.
这是编辑过的原文:
OleDbCommand cmd = new OleDbCommand(); cmd.Connection = Connection; cmd.CommandTimeout = 0; cmd.CommandText = "update groups set subjectline ='" + txtSubjectLine.Text + "',data = ? where groupid = " + ddlGroupSelectedItem.Value; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("p1",OleDbType.VarBinary); cmd.Parameters["p1"].Value = binarydata; cmd.ExecuteNonQuery();
asp.net-mvc – 在Mono 2.4上使用Microsoft Data Entity Framework和Microsoft MVC
我创建了一个简单的MVC tutioal applciation,链接了here,并验证它使用了所有Microsoft工具.
接下来,应用程序更新为指向在我的Ubiquity主机上运行的MysqL服务器数据库.该应用程序在基于Microsoft的计算机上运行良好.
现在,我正在尝试将应用程序部署到Ubiquity上的单声道服务器.
我设置System.Web.MVC,因此它将copyLocal = true.
我将应用程序部署到单声道服务器.
我收到此错误:
描述:解析为此请求提供服务所需的资源时出错.检查您的源文件并对其进行修改以修复此错误.
分析器错误消息:程序集System.Data.Entity,版本= 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089未找到
版本信息:单声道版本:2.0.50727.1433; ASP.NET版本:2.0.50727.1433
我猜这个问题可能是……
A)单声道不支持实体框架.我需要使用Microsoft Data Entity Framework之外的其他东西.
B)单声道版本的System.Data.Entity的公钥令牌不是“b77a5c561934e089”.
C)还有其他事情发生.
我尝试为System.Entity.Data dll设置copyLocal = true.因此,部署到我的单声道服务器的Microsoft版本的DLL.我怀疑这是合法的.无论如何,这只会产生以下错误:
Got a SIGSEGV while executing native code. This usually indicates
a Fatal error in the mono runtime or one of the native libraries
used by your application.
题
有人可以确认可以在Mono上使用Microsoft Entity Framework吗?根据上面链接的Microsoft MVC教程中的这个评论,我可能会迁移远离Microsoft Entity Framework.
“The ASP.NET MVC framework is not tied to the Microsoft Entity Framework. You can create >your database model classes by taking advantage of a variety of Object Relational Mapping >(OR/M) tools including LINQ to sql,Subsonic,and NHibernate.”
但是,为了保持一致性,我想在单声道上使用Microsoft Entity Framework,如果可能的话.
解决方法
今天关于PDO和Microsoft SQL:必须声明表变量“ P1”。和sql必须声明标量变量是什么意思的讲解已经结束,谢谢您的阅读,如果想了解更多关于### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 &qu...、2022年Microsoft Office 365、Microsoft 365商业版比现在更、asp.net – 错误:必须声明标量变量“@data”、asp.net-mvc – 在Mono 2.4上使用Microsoft Data Entity Framework和Microsoft MVC的相关知识,请在本站搜索。
本文标签: