SQL中USING( )函数的具体作用是什么啊?使用需要注意什么?

SQL中 USING( ) 函数的具体作用是什么啊?该如何使用? 使用需要注意什么?

sql

1个回答

两个表连接的简化写法,mysql特有的

http://www.jb51.net/article/64936.htm

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在untiy3d中如何用js调用c#中的函数
在网上看了很多人的回答,都说把要被调用的c#放在”Standard Assets”, “Pro Standard Assets” or “Plugins” 目录下,但是我的c#代码调用了Plugins里的文件,所以一放进去就出错。有没有其他好的方法呀。。。求各位大神帮帮忙。。。 c#代码如下 using UnityEngine; using System; using System.Data; using System.Collections; using MySql.Data.MySqlClient; using MySql.Data; using System.IO; using System.Reflection; public class menuData : MonoBehaviour { string Error=null; public static string[,] picAndmod;//分别存放picNo,modNo,picAndmodName,picAddress,modAddress,modDiscribe; // Use this for initialization void Start () { } public string[,] dataFind(){ try{ Debug.Log("连接数据库成功"); sql s = new sql(); DataSet ds=s.SelectTablesWhere(new string[] {"modle","picture"},new string[]{"picNo","picture.modNo","picture.picAndmodName","picAddress","modAddress","modDiscribe"},new string[]{"modle.modNo"},new string[]{"="},new string[]{"picture.modNo"}); if(ds!=null){ DataTable table=ds.Tables[0]; picAndmod=new string[table.Rows.Count,6]; for(int i=0;i<table.Rows.Count;i++){ for(int j=0;j<6;j++){ Debug.Log(table.Rows[i][j].ToString()); picAndmod[i,j]=table.Rows[i][j].ToString(); } } } return picAndmod; } catch(Exception e) { Error = e.Message; return picAndmod; Debug.Log(Error); } } // Update is called once per frame void Update () { } } 希望通过js调用dataFind()方法,获得picAndmod的值。。。。。连接数据库System.Data;System.Collections; MySql.Data.MySqlClient; MySql.Data;这些文件放在了Plugins文件夹下
C#.net中GRIDVIEW的SQL更新语句的问题
** 我要做的是点击GRIDVIEW(代码加载的内容)中更新功能按钮 然后更新相关信息,由于某些原因(说起来太麻烦了),只能使用自己写的代码而不是自动生成的UPDATE语句。 但是自己写的UPDATE语句出现问题,更新信息失败。在SQL SERVER中能正常使用 所以我猜是调用GRIDVIEW中数据时出现问题。但是试过很多方法都不能使用 不知道问题出现在哪里 希望前辈们能帮我看看 下面贴出几张截图和代码 图一是在SQL中正常使用的代码 ![图片说明](https://img-ask.csdn.net/upload/201907/28/1564317571_252779.png) 图二所示 断点打完 那几个变量是空值 ![图片说明](https://img-ask.csdn.net/upload/201907/28/1564318065_147839.png) ![图片说明](https://img-ask.csdn.net/upload/201907/28/1564325064_323064.png) 下面贴出代码 这是后端代码 ``` using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class HTML_ScoreManage : System.Web.UI.Page { SqlConnection sqlcon; SqlCommand sqlcom; string strCon = "Data Source=DESKTOP-79153UB; Initial Catalog=db_StudentManage;Integrated Security=True"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind(); } } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; bind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) //出现问题的函数 { sqlcon = new SqlConnection(strCon); string sqlstr = "update tb_Choosec001 set SName='" +GridView1.Rows[e.RowIndex].Cells[1].Text.ToString().Trim() + "',Score='" + GridView1.Rows[e.RowIndex].Cells[2].Text.ToString().Trim() + "' where SId='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; //上面几个GRIDVIEW1表格中数据调用为空值 sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); GridView1.EditIndex = -1; bind(); } //取消     protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)     {         GridView1.EditIndex = -1;         bind();     } public void bind()     { string sqlstr = "select * from tb_Choosec001";         sqlcon = new SqlConnection(strCon);         SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);         DataSet myds = new DataSet();         sqlcon.Open(); myda.Fill(myds, "tb_Choosec001");         GridView1.DataSource = myds;         GridView1.DataKeyNames = new string[] { "SId" };//主键         GridView1.DataBind();         sqlcon.Close();     } } ``` 下面是前端 ``` <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ScoreManage2.aspx.cs" Inherits="HTML_ScoreManage" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <Columns> <asp:BoundField DataField="SId" HeaderText="学生ID" /> <asp:BoundField DataField="SName" HeaderText="学生姓名" /> <asp:BoundField DataField="Score" HeaderText="成绩" /> <asp:CommandField ShowSelectButton="True" /> <asp:CommandField ShowEditButton="True" /> </Columns> <EditRowStyle BackColor="#999999" /> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <SortedAscendingCellStyle BackColor="#E9E7E2" /> <SortedAscendingHeaderStyle BackColor="#506C8C" /> <SortedDescendingCellStyle BackColor="#FFFDF8" /> <SortedDescendingHeaderStyle BackColor="#6F8DAE" /> </asp:GridView> </div> </form> </body> </html> ```
控制台程序连接db2数据库时,连接正确,下一步SQLExecDirect 执行一句SQL语句失败,求大神告知原因。
程序报错情况(如下图):esp的值没有在函数调用中正确保存 ![图片说明](https://img-ask.csdn.net/upload/201906/20/1561028060_896539.png) 程序执行结果如下图: ![图片说明](https://img-ask.csdn.net/upload/201906/20/1561027715_499589.png) 可以看到,程序执行到“//查询语句前”都是正确的,但是SQLExecDirect函数执行一个select * from yuangong语句不成功。 另外:语句select * from yuangong在db2数据库的命令处理器中使用时完全可以的。 以下是代码: #include "pch.h" #include <iostream> #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <sqlcli.h> #include <sqlcli1.h> #include <sqlenv.h> #include <sqlda.h> #include <sqlca.h> #include <string.h> using namespace std; struct result { char ename[50]; char cname[100]; int ename_len; int cname_len; result() { memset(ename, '\0', sizeof(ename)); memset(cname, '\0', sizeof(cname)); } }; int main() { SQLRETURN cliRC = SQL_SUCCESS; SQLHANDLE henv = SQL_NULL_HENV; SQLHANDLE hdbc = SQL_NULL_HDBC; SQLHANDLE hstmt = SQL_NULL_HSTMT; //获取环境句柄 cliRC = SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); //获取连接句柄 cliRC = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); cliRC = SQLSetConnectAttr(hdbc, SQL_ATTR_AUTOCOMMIT, (SQLPOINTER)SQL_AUTOCOMMIT_OFF, SQL_IS_INTEGER); cliRC = SQLConnect(hdbc, (SQLCHAR *)"ak47", SQL_NTS, (SQLCHAR *)"test", SQL_NTS, (SQLCHAR *)"test", SQL_NTS); if (cliRC == SQL_SUCCESS) { cout << "connect successfully" << endl; } //设置连接 cliRC = SQLSetConnection(hdbc); //获取操作句柄 SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); cliRC = SQLSetStmtAttr(hstmt, SQL_ATTR_DEFERRED_PREPARE, (SQLPOINTER)SQL_DEFERRED_PREPARE_ON, SQL_IS_INTEGER); cliRC = SQLSetStmtAttr(hstmt, SQL_ATTR_BLOCK_FOR_NROWS, (SQLPOINTER)100, SQL_IS_INTEGER); if (cliRC == SQL_SUCCESS ) { cout << "setStmtAttr" << endl; }; //查询语句 const char * strSQL = "select * from yuangong"; cliRC = SQLExecDirect(hstmt, (SQLCHAR FAR*)strSQL, SQL_NTS); if (cliRC == SQL_SUCCESS) { cout << "SQL execute successfully" << endl; } SQLSMALLINT ulColumns = 0; //结束会话 cliRC = SQLEndTran(SQL_HANDLE_DBC, hdbc, SQL_COMMIT); //释放资源 cliRC = SQLFreeStmt(hstmt, SQL_UNBIND); cliRC = SQLFreeStmt(hstmt, SQL_CLOSE); return 0; }
C#代码中查询数据库查询两个连接起来的表怎么获取数据并把数据放到DataSet中?
以下是获取所有信息的代码函数: public static DataSet GetAllInfos() { string sql = `"select InfoID,InfoTitle,InfoTime,InfoContent,i.AccountID,a.AccountName from Info as i inner join Account as a on i.AccountID = a.AccountID";` using (SqlConnection conn = new SqlConnection(con)) { SqlDataAdapter adapter = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); `adapter.Fill(ds, "Info");` return ds; } } 应该怎么获取查询到的数据再放入DataSet中呢?
entity framwork +postgresql使用中视图的问题
如上所示,目前在vs里面使用npgsql添加实体类是可以的(那些带主键的表也能加进去), 但是视图就加不进去了,提示没得主键,度娘了下,发现那些方法没效果(主要就是喊加个字段用isNULL函数来处理后ef就会默认加的为主键了)但是pgsql里面没得这个isnull,替代的就是那个coalesce,试了没啥用,后来看了下这篇https://stackoverflow.com/questions/29907918/cannot-generate-c-sharp-class-from-postgresql-view-using-npgsql-ef6-code-first ,但是具体咋整不太清楚,麻烦帮我具体试试或者谁有其他啥方法也教教,谢谢。(ps:我看他这个下面的回答中public partial class FooContext : DbContext { public IQueryable<foo> foo => this.Database.SqlQuery<foo>( "select * from foo" ).AsQueryable(); }这个是怎么加的,该加到哪儿的?)
java调用存储函数,有些数据可以执行成功,有些却报异常是什么原因?
![图片说明](https://img-ask.csdn.net/upload/201512/21/1450696974_765903.jpg) /** * 获取书籍总点击量 * * @param bookid 书籍id * @return 书籍总点击量 * @throws Exception */ @Override public int getClickAllById(int bookid) throws Exception { ResultSet rs = null; DataParameter[] parameters = new DataParameter[] { adoHelper.getReturnParameter(), adoHelper.getParameter("inintbookid", bookid, DataType.INTEGER), adoHelper.getOutputParameter("outcurlist", DataType.CURSOR) }; rs = adoHelper.executeReader(Config.getConfig("bookconnectionstring"), "FN_GETBOOKALLINFOBYID", parameters); int clickAll = 0; if (rs.next()) { clickAll = rs.getInt("CLICKRATE_ALL"); } return clickAll; } 调用这个存储函数,传入的bookid有些可以执行成功,有些却报异常。异常信息是: 2015/12/21 16:43:28 | INFO - MLog - MLog clients using log4j logging. INFO | jvm 1 | 2015/12/21 16:43:28 | INFO - C3P0Registry - Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10] INFO | jvm 1 | 2015/12/21 16:43:28 | INFO - stractPoolBackedDataSource - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> true, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> z8kflt9d1iavakf20c46j|141dddba, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> oracle.jdbc.driver.OracleDriver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kflt9d1iavakf20c46j|141dddba, idleConnectionTestPeriod -> 60, initialPoolSize -> 3, jdbcUrl -> jdbc:oracle:thin:@orabooksyncdb.qdintra.com:1521:cmfu162, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 60, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 5, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ] INFO | jvm 1 | 2015/12/21 16:43:29 | ERROR - Log4j - 获取书籍总点击量失败_bookID:3,173,393,ex:java.sql.SQLException: 调用存储过程[connection:oracle1,procedureName:FN_GETBOOKALLINFOBYID,database:jdbc:oracle:thin:@oracoredb2.qdintra.com:1521:cmfu]出现异常,ex:java.sql.SQLException: ORA-06550: line 1, column 13: INFO | jvm 1 | 2015/12/21 16:43:29 | PLS-00201: identifier 'FN_GETBOOKALLINFOBYID' must be declared INFO | jvm 1 | 2015/12/21 16:43:29 | ORA-06550: line 1, column 7: INFO | jvm 1 | 2015/12/21 16:43:29 | PL/SQL: Statement ignored INFO | jvm 1 | 2015/12/21 16:43:29 | ! 然后我这个做了定时任务,每15分钟执行一次这个程序,定时用的Timer。 数据库用的是Oracle
C#.net中GRIDVIEW中数据调取未取到,麻烦前辈们指点指点
** 我要做的是点击GRIDVIEW(后端代码选择的表格)中更新功能按钮 然后更新相关信息,由于某些原因(说起来太麻烦了),只能使用后端自己写的代码而不是GRIDVIEW自动生成的UPDATE语句。但是自己写的UPDATE语句中调用GRIDVIEW的语句(GridView1.Rows[e.RowIndex].Cells[1].Text.ToString().Trim() ) 在调试中为空值。然后我还试过很多方法都为空值(会不会是页面刷新导致的),不知道为什么。希望前辈们能指点指点。 下面贴出几张截图和代码 图一是在SQL中正常使用的代码 ![图片说明](https://img-ask.csdn.net/upload/201907/31/1564503114_452068.png) 图二所示 断点打完 那几个变量是空值 ![图片说明](https://img-ask.csdn.net/upload/201907/31/1564503140_249943.png) 下面贴出代码 这是后端代码 ``` using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class HTML_ScoreManage : System.Web.UI.Page { SqlConnection sqlcon; SqlCommand sqlcom; string strCon = "Data Source=DESKTOP-79153UB; Initial Catalog=db_StudentManage;Integrated Security=True"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind(); } } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; bind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) //出现问题的函数 { sqlcon = new SqlConnection(strCon); string sqlstr = "update tb_Choosec001 set SName='" +GridView1.Rows[e.RowIndex].Cells[1].Text.ToString().Trim() + "',Score='" + GridView1.Rows[e.RowIndex].Cells[2].Text.ToString().Trim() + "' where SId='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; //上面几个GRIDVIEW1表格中数据调用为空值 sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); GridView1.EditIndex = -1; bind(); } //取消 protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; bind(); } public void bind() { string sqlstr = "select * from tb_Choosec001"; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open(); myda.Fill(myds, "tb_Choosec001"); GridView1.DataSource = myds; GridView1.DataKeyNames = new string[] { "SId" };//主键 GridView1.DataBind(); sqlcon.Close(); } } ``` 前端代码 和前端图片: ``` <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ScoreManage2.aspx.cs" Inherits="HTML_ScoreManage" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <Columns> <asp:BoundField DataField="SId" HeaderText="学生ID" /> <asp:BoundField DataField="SName" HeaderText="学生姓名" /> <asp:BoundField DataField="Score" HeaderText="成绩" /> <asp:CommandField ShowSelectButton="True" /> <asp:CommandField ShowEditButton="True" /> </Columns> <EditRowStyle BackColor="#999999" /> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <SortedAscendingCellStyle BackColor="#E9E7E2" /> <SortedAscendingHeaderStyle BackColor="#506C8C" /> <SortedDescendingCellStyle BackColor="#FFFDF8" /> <SortedDescendingHeaderStyle BackColor="#6F8DAE" /> </asp:GridView> </div> </form> </body> </html> ``` 前端图片 ![图片说明](https://img-ask.csdn.net/upload/201907/31/1564503437_553420.png)
新手提问:异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
![图片说明](https://img-ask.csdn.net/upload/201907/01/1561980378_753637.png) using System; using System.Data; using System.Configuration; using System.Data.SqlClient; /// <summary> /// DbAccess 的摘要说明 /// </summary> public class DbAccess { private static SqlConnection conn; private SqlDataAdapter da; private DataSet ds; private SqlCommand cmd; public DbAccess() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 获取数据库连接 /// </summary> /// <returns>获取数据库连接</returns> internal static SqlConnection GetConn() { try { //从webConfig中读取数据库链接字符串 string cstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; conn = new SqlConnection(cstr); if (conn.State != ConnectionState.Open) { conn.Open(); } return conn; } catch (Exception e) { } return null; } /// <summary> /// 关闭数据库链接 /// </summary> internal static void CloseConn() { if (conn.State != ConnectionState.Closed) { conn.Close(); } } /// <summary> /// 执行Sql语句,包括添加,删除,和修改语句 /// </summary> /// <param name="sql">sql语句</param> /// <returns>数据库影响的行数</returns> public bool ExecuteSql(string sql) { try { conn = GetConn(); if (conn.State != ConnectionState.Open) { conn.Open(); } cmd = new SqlCommand(sql, conn); int flag = cmd.ExecuteNonQuery(); return flag > 0; } catch (Exception e) { } finally { conn.Close(); } return false; } /// <summary> /// 根据sql语句返回DataSet类型数据集 /// </summary> /// <param name="sql">Sql查询语句</param> /// <returns>DataSet数据集</returns> public DataSet GetDataSet(string sql) { try { conn = GetConn(); da = new SqlDataAdapter(sql, conn); DataSet dst = new DataSet(); da.Fill(dst); return dst; } catch { } finally { conn.Close(); } return null; }
mysql grant修改权限的时候报错求解决
[SQL] select StatusByProcessInstanceId(1) 业务需要数据库自定义了一个函数,调用时发现报错如下,应该是权限不足 [Err] 1370 - execute command denied to user 'root'@'%' for routine 'workflow.StatusByProcessInstanceId' 于是去修改权限 [SQL] grant all privileges on *.* to 'root'@'%' 修改失败,并报错 [Err] 1045 - Access denied for user 'root'@'%' (using password: YES) 如何解决呢
跪求各位大神帮我看看哪错了吧
基于asp.net开发的,数据库是sql server2005.无法将信息添加到数据库中。 添加按钮click事件代码如下: protected void Button1_Click(object sender, EventArgs e) { string sql; sql = "insert into shipinxinxi(mingcheng,leibie,danjia) values('"+mingcheng.Text.ToString().Trim() + "','"+leibie.Text.ToString().Trim() + "','"+danjia.Text.ToString().Trim() + "') "; int result; result = new Class1().hsgexucute(sql); if (result == 1) { Response.Write("<script>javascript:alert('添加成功');</script>"); } else { Response.Write("<script>javascript:alert('系统错误,请检查数据库设置问题');</script>"); } } Class1.cs中代码如下: using System; using System.Data; //using System.Data.OleDb; using System.Data.SqlClient; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; /// <summary> /// Class1 的摘要说明 /// </summary> public class Class1 { //SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["testConnectionString"]); public Class1() { // // TODO: 在此处添加构造函数逻辑 // } // public static string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/web.mdb"); public static string connstring = ConfigurationManager.AppSettings["cn"]; //设置连接数据库的代码是webconfig里面的cn那句,即:server=.;database=net05qingongzhuxue;uid=sa;pwd=; public static DataSet GDS(string sql) { //OleDbDataAdapter dap = new OleDbDataAdapter(sql, connstring); SqlDataAdapter dap = new SqlDataAdapter(sql, connstring); DataSet ds = new DataSet(); dap.Fill(ds); return ds; } public static void Dsql(string sql) { // OleDbConnection conn = new OleDbConnection(); SqlConnection conn = new SqlConnection(); conn.ConnectionString = connstring; conn.Open(); // OleDbCommand cmd = new OleDbCommand(sql, conn); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); } public int hsgexucute(string sql) //自定义函数:执行sql语句,如果执行成功,返回值1,否则0 { //myConnection.Open(); SqlConnection conn = new SqlConnection(); //定义新数据库连接 conn.ConnectionString = connstring; //设置该新连接字符串是connstr,即上面的webconfig里的cn值 SqlCommand myCommand = new SqlCommand(sql, conn); //设置新执行命令 // SqlCommand cmd = new SqlCommand(sql, conn); try { conn.Open(); //打开数据库连接 myCommand.ExecuteNonQuery(); //执行sql语句 return 1; //执行成功,返回1 } catch { //Console.WriteLine("SqlException:{0}",SQLexc); return 0; //执行失败,返回0 } finally { conn.Close(); //关闭数据库连接 } } 每次点击添加按钮,就会弹出提示框显示'系统错误,请检查数据库设置问题',这是怎么回事呢?
canceling statement due to user request
postgresql用的是9.4版本,驱动也用到9.4版本,jdk用的1.7 我们的系统前端有一个删除项目的操作,后台用的spring boot+spring mvc+mybatis,删除操作实际调用一个postgresql函数,函数部分执行语句如下: CREATE OR REPLACE FUNCTION delete_eplus_project_cascade(projectid character varying) RETURNS void AS $BODY$ BEGIN --1. delete task_item_contents delete from eplus_task_item_contents etic using eplus_task_item eti, eplus_task et where etic.task_item_id = eti.id and eti.task_id = et.id and et.project_id = projectid; --2. delete task_item delete from eplus_task_item eti using eplus_task et where eti.task_id = et.id and et.project_id = projectid; --3. delete eplus_repair_record_item delete from eplus_repair_record_item erri using eplus_repair_record err,eplus_task et where erri.repair_id = err.id and err.task_id = et.id and et.project_id = projectid; --4. delete eplus_repair_record delete from eplus_repair_record err using eplus_task et where err.task_id = et.id and et.project_id = projectid; --5. delete eplus_task delete from eplus_task et where et.project_id = projectid; ........ 现象是前端点击删除后,后台执行较慢,可能是数据比较多,或者index设置不合适?虽然执行较慢,但有的项目可以删除成功,有的报下面的错,随机性的: ### Error querying database. Cause: org.postgresql.util.PSQLException: ERROR: canceling statement due to user request Where: SQL statement "DELETE FROM ONLY "public"."eplus_task_item_contents" WHERE $1 OPERATOR(pg_catalog.=) "task_item_id"" SQL statement "delete from eplus_task_item eti using eplus_task et where eti.task_id = et.id and et.project_id = projectid" PL/pgSQL function delete_eplus_project_cascade(character varying) line 8 at SQL statement 网上看到类似的问题求助帖,发现9.2的版本貌似出过这个错误,但现在我用的9.4版本已经修复了这个问题,而且我的数据库设置基本都是默认的,更没有改过statement-timeout这个属性,业务处调用代码如下: @Transactional() public void delete(String projectId) { projectDao.delete(projectId); //standardService.deleteByProjectId(projectId); }
c# 事务处理 发现第一条sql语句执行插入成功了 第二条执行更新没成功
求助高手帮忙分析一下 这个函数会不会出现我说的那种状况 两条指令第一条往Table1插入了一条信息 第二条更新Table2的某个字段 奇怪的是Table1插入了一条信息 但Table2没执行更新 不知道是不是这个函数的原因 如果这个函数不会出现这种状况麻烦高手帮忙分析一下可能是什么原因 谢谢 public void ExecuteScalar(CommandType cmdType, string[] cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(CONN_STRING)) { if (conn.State != ConnectionState.Open) conn.Open(); SqlTransaction tx = conn.BeginTransaction(); try { for (int i = 0; i < cmdText.Length; i++) { cmd.Connection = conn; cmd.CommandText = cmdText[i]; if (tx != null) cmd.Transaction = tx; cmd.CommandType = cmdType; if (cmdParms != null) { foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); } object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); } tx.Commit(); } catch (System.Exception ex) { tx.Rollback(); throw ex; } finally { conn.Close(); } } }
jqgrid linq 分页查询问题
比如我SortCode 字段为null 排序,返回数据总数对的,但是分页数据显示会有重复行,换个其他字段就分页数据显示就对的,不知道啥问题。 不像sql rownumber函数 order by 字段必需唯一不重复 jqgrid 前台页面通过 sortname: 'SortCode', sortorder: 'asc', 字段传到后台排序 底层方法 public IEnumerable<T> FindList<T>(Expression<Func<T, bool>> condition, string orderField, bool isAsc, int pageSize, int pageIndex, out int total) where T : class,new() { using (var dbConnection = Connection) { string[] _orderField = orderField.Split(','); var dataLinq = new SQLinq<T>().Where(condition); foreach (string item in _orderField) { var parameter = Expression.Parameter(typeof(T), "t"); var property = typeof(T).GetProperty(item); var propertyAccess = Expression.MakeMemberAccess(parameter, property); Expression<Func<T, object>> orderBy = t => propertyAccess; dataLinq.OrderByExpressions.Add(new SQLinq<T>.OrderByExpression { Ascending = isAsc, Expression = orderBy }); } var dataQuery = dbConnection.Query<T>(dataLinq); total = dataQuery.Count(); var data = dataQuery.Skip<T>(pageSize * (pageIndex - 1)).Take<T>(pageSize).AsQueryable(); return data.ToList(); } }
C#asp.net三层架构,怎么才能通过主键查询到相对应的记录
类库代码如下: /// 把SqlDataReader对象中的数据读出到List中 /// <returns>转换后的列表对象</returns> private List<UserInfo> GetUse(SqlDataReader reader) { List<UserInfo> uselist = new List<UserInfo>(); while (reader.Read()) { use.UName = reader["UName"].ToString(); use.Password = reader["Password"].ToString(); uselist.Add(use); } reader.Close(); return uselist; } /// 根据给定的查询条件,返回考生对象列表 public List<UserInfo> GetuseBySqlStr(string strWhere) { string sql = "select * from UserInfo where 1=1 " + strWhere; using (SqlDataReader dr = SqlDatabase.ExecuteReader(CommandType.Text, sql)) { return GetUse(dr); } } /// 根据给定的条件判断是否存在记录 public bool Existbystr(string str) { string sql = "select * from UserInfo where 1=1 " + str; if (SqlDatabase.ExecuteScalar(CommandType.Text, sql) != null) return true; else return false; } .aspx.cs后台部分代码如下: if (use.Existbystr("and [UName]='" + txtName.Text + "'")) {判断输入的用户名正确之后 ---------这里应该怎么引用类库里的函数,来实现通过登录名查询数据库中对应的密码,判断是否和密码框(txtpassword)相同。 } 急求补充if条件语句里的代码
在VS2010平台上怎么搭建occi环境,访问oracle 11g
我是用的VS2010访问oracle 11g,oracle自带 OCI,我按照网上说的下载了occivc10_11202_win64.zip,解压到OCI目录下OCI\lib\MSVC\vc10,并且按照网上说的,加载库函数和头文件;但是总出问题,说找不到文件 #include<iostream> #include<occi.h> using namespace std; using namespace oracle::occi; void main(){ try{ Environment *env=Environment::createEnvironment(); cout<<"success-------Environment"<<endl; Connection *conn=env->createConnection("hr","12345","localhost:1521/orcl"); cout<<"success-------Connection"<<endl; /*string sql="select * from emp where employee_id=119";*/ string sql="insert into emp values ('207','zhang','9800')"; Statement *stmt=conn->createStatement(sql); stmt->executeUpdate(); cout<<"success-------insert"<<endl; env->terminateConnection(conn); Environment::terminateEnvironment(env); } catch(SQLException &e){ cout<<e.what()<<endl; } } 编译后总是出问题,出现两个error LNK2019: 无法解析的外部符号 1>OCITest.obj : error LNK2019: 无法解析的外部符号 "public: static void __cdecl oracle::occi::Environment::terminateEnvironment(class oracle::occi::Environment *)" (?terminateEnvironment@Environment@occi@oracle@@SAXPAV123@@Z),该符号在函数 _main 中被引用 1>OCITest.obj : error LNK2019: 无法解析的外部符号 "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,void * (__cdecl*)(void *,unsigned int),void * (__cdecl*)(void *,void *,unsigned int),void (__cdecl*)(void *,void *))" (?createEnvironment@Environment@occi@oracle@@SAPAV123@W4Mode@123@PAXP6APAX1I@ZP6APAX11I@ZP6AX11@Z@Z),该符号在函数 _main 中被引用 1>C:\Users\asus\documents\visual studio 2010\Projects\OCCITest2\Debug\OCCITest2.exe : fatal error LNK1120: 2 个无法解析的外部命令
proc 嵌入sql 数据库为oracle,忙帮看看程序有问题吗?
proc预编译通过生成相应的c文件,然后通过c编译器编译提示D:\workspace\test\main.c|327|undefined reference to `sqlcxt'| 我初步判断不是因为库函数没有引用,因为我把sqlcxt函数中的参数改变的时候提示参数数目不对,所以是有这个函数的,我怀疑是我写的程序有问题现在程序贴出来。系统用的win764位,oracle11g64位,客户端什么的完全安装,编译器用的codeblock #include <stdio.h> #include <stdlib.h> EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; int userid; int thisno; VARCHAR username[20]; VARCHAR password[20]; VARCHAR serv[20]; EXEC SQL END DECLARE SECTION; main() { thisno=1; strcpy(username.arr,"scott"); username.len=(unsigned short)strlen((char *)username.arr); strcpy(password.arr,"tiger"); password.len=(unsigned short)strlen((char *)password.arr); strcpy(serv.arr,"JASON"); serv.len=(unsigned short)strlen((char *)serv.arr);  EXEC SQL CONNECT :username IDENTIFIED BY :password USING :serv; printf("Connect!\n");  EXEC SQL SELECT no INTO :userid FROM liuyazheng WHERE no =:thisno;  printf( "First name = %d\n",userid); EXEC SQL COMMIT WORK RELEASE; printf("Disconnect!\n");  return 1; } 下面是预编译生成的代码: /* Result Sets Interface */ #ifndef SQL_CRSR # define SQL_CRSR struct sql_cursor { unsigned int curocn; void *ptr1; void *ptr2; unsigned int magic; }; typedef struct sql_cursor sql_cursor; typedef struct sql_cursor SQL_CURSOR; #endif /* SQL_CRSR */ /* Thread Safety */ typedef void * sql_context; typedef void * SQL_CONTEXT; /* Object support */ struct sqltvn { unsigned char *tvnvsn; unsigned short tvnvsnl; unsigned char *tvnnm; unsigned short tvnnml; unsigned char *tvnsnm; unsigned short tvnsnml; }; typedef struct sqltvn sqltvn; struct sqladts { unsigned int adtvsn; unsigned short adtmode; unsigned short adtnum; sqltvn adttvn[1]; }; typedef struct sqladts sqladts; static struct sqladts sqladt = { 1,1,0, }; /* Binding to PL/SQL Records */ struct sqltdss { unsigned int tdsvsn; unsigned short tdsnum; unsigned char *tdsval[1]; }; typedef struct sqltdss sqltdss; static struct sqltdss sqltds = { 1, 0, }; /* File name & Package Name */ struct sqlcxp { unsigned short fillen; char filnam[8]; }; static const struct sqlcxp sqlfpn = { 7, "main.pc" }; static unsigned int sqlctx = 9211; static struct sqlexd { unsigned int sqlvsn; unsigned int arrsiz; unsigned int iters; unsigned int offset; unsigned short selerr; unsigned short sqlety; unsigned int occurs; const short *cud; unsigned char *sqlest; const char *stmt; sqladts *sqladtp; sqltdss *sqltdsp; void **sqphsv; unsigned int *sqphsl; int *sqphss; void **sqpind; int *sqpins; unsigned int *sqparm; unsigned int **sqparc; unsigned short *sqpadto; unsigned short *sqptdso; unsigned int sqlcmax; unsigned int sqlcmin; unsigned int sqlcincr; unsigned int sqlctimeout; unsigned int sqlcnowait; int sqfoff; unsigned int sqcmod; unsigned int sqfmod; void *sqhstv[4]; unsigned int sqhstl[4]; int sqhsts[4]; void *sqindv[4]; int sqinds[4]; unsigned int sqharm[4]; unsigned int *sqharc[4]; unsigned short sqadto[4]; unsigned short sqtdso[4]; } sqlstm = {12,4}; /* SQLLIB Prototypes */ extern void sqlcxt (void **, unsigned int *, struct sqlexd *, const struct sqlcxp *); extern void sqlcx2t(void **, unsigned int *, struct sqlexd *, const struct sqlcxp *); extern void sqlbuft(void **, char *); extern void sqlgs2t(void **, char *); extern void sqlorat(void **, unsigned int *, void *); /* Forms Interface */ static const int IAPSUCC = 0; static const int IAPFAIL = 1403; static const int IAPFTL = 535; extern void sqliem(unsigned char *, signed int *); typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR; typedef struct { unsigned short len; unsigned char arr[1]; } varchar; /* cud (compilation unit data) array */ static const short sqlcud0[] = {12,4130,852,0,0, 5,0,0,0,0,0,27,24,0,0,4,4,0,1,0,1,9,0,0,1,9,0,0,1,9,0,0,1,10,0,0, 36,0,0,2,48,0,4,26,0,0,2,1,0,1,0,2,3,0,0,1,3,0,0, 59,0,0,3,0,0,30,28,0,0,0,0,0,1,0, }; #include <stdio.h> #include <stdlib.h> /* EXEC SQL INCLUDE SQLCA; */ /* * $Header: sqlca.h 24-apr-2003.12:50:58 mkandarp Exp $ sqlca.h */ /* Copyright (c) 1985, 2003, Oracle Corporation. All rights reserved. */ /* NAME SQLCA : SQL Communications Area. FUNCTION Contains no code. Oracle fills in the SQLCA with status info during the execution of a SQL stmt. NOTES ************************************************************** *** *** *** This file is SOSD. Porters must change the data types *** *** appropriately on their platform. See notes/pcport.doc *** *** for more information. *** *** *** ************************************************************** If the symbol SQLCA_STORAGE_CLASS is defined, then the SQLCA will be defined to have this storage class. For example: #define SQLCA_STORAGE_CLASS extern will define the SQLCA as an extern. If the symbol SQLCA_INIT is defined, then the SQLCA will be statically initialized. Although this is not necessary in order to use the SQLCA, it is a good pgming practice not to have unitialized variables. However, some C compilers/OS's don't allow automatic variables to be init'd in this manner. Therefore, if you are INCLUDE'ing the SQLCA in a place where it would be an automatic AND your C compiler/OS doesn't allow this style of initialization, then SQLCA_INIT should be left undefined -- all others can define SQLCA_INIT if they wish. If the symbol SQLCA_NONE is defined, then the SQLCA variable will not be defined at all. The symbol SQLCA_NONE should not be defined in source modules that have embedded SQL. However, source modules that have no embedded SQL, but need to manipulate a sqlca struct passed in as a parameter, can set the SQLCA_NONE symbol to avoid creation of an extraneous sqlca variable. MODIFIED lvbcheng 07/31/98 - long to int jbasu 12/12/94 - Bug 217878: note this is an SOSD file losborne 08/11/92 - No sqlca var if SQLCA_NONE macro set Clare 12/06/84 - Ch SQLCA to not be an extern. Clare 10/21/85 - Add initialization. Bradbury 01/05/86 - Only initialize when SQLCA_INIT set Clare 06/12/86 - Add SQLCA_STORAGE_CLASS option. */ #ifndef SQLCA #define SQLCA 1 struct sqlca { /* ub1 */ char sqlcaid[8]; /* b4 */ int sqlabc; /* b4 */ int sqlcode; struct { /* ub2 */ unsigned short sqlerrml; /* ub1 */ char sqlerrmc[70]; } sqlerrm; /* ub1 */ char sqlerrp[8]; /* b4 */ int sqlerrd[6]; /* ub1 */ char sqlwarn[8]; /* ub1 */ char sqlext[8]; }; #ifndef SQLCA_NONE #ifdef SQLCA_STORAGE_CLASS SQLCA_STORAGE_CLASS struct sqlca sqlca #else struct sqlca sqlca #endif #ifdef SQLCA_INIT = { {'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '}, sizeof(struct sqlca), 0, { 0, {0}}, {'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0} } #endif ; #endif #endif /* end SQLCA */ /* EXEC SQL BEGIN DECLARE SECTION; */ int userid; int thisno; /* VARCHAR username[20]; */ struct { unsigned short len; unsigned char arr[20]; } username; /* VARCHAR password[20]; */ struct { unsigned short len; unsigned char arr[20]; } password; /* VARCHAR serv[20]; */ struct { unsigned short len; unsigned char arr[20]; } serv; /* EXEC SQL END DECLARE SECTION; */ main() { thisno=1; strcpy(username.arr,"scott"); username.len=(unsigned short)strlen((char *)username.arr); strcpy(password.arr,"tiger"); password.len=(unsigned short)strlen((char *)password.arr); strcpy(serv.arr,"JASON"); serv.len=(unsigned short)strlen((char *)serv.arr); /* EXEC SQL CONNECT :username IDENTIFIED BY :password USING :serv; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 12; sqlstm.arrsiz = 4; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )10; sqlstm.offset = (unsigned int )5; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)4352; sqlstm.occurs = (unsigned int )0; sqlstm.sqhstv[0] = ( void *)&username; sqlstm.sqhstl[0] = (unsigned int )22; sqlstm.sqhsts[0] = ( int )22; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&password; sqlstm.sqhstl[1] = (unsigned int )22; sqlstm.sqhsts[1] = ( int )22; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&serv; sqlstm.sqhstl[2] = (unsigned int )22; sqlstm.sqhsts[2] = ( int )22; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlstm.sqlcmax = (unsigned int )100; sqlstm.sqlcmin = (unsigned int )2; sqlstm.sqlcincr = (unsigned int )1; sqlstm.sqlctimeout = (unsigned int )0; sqlstm.sqlcnowait = (unsigned int )0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); } printf("Connect!\n"); /* EXEC SQL SELECT no INTO :userid FROM liuyazheng WHERE no =:thisno; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 12; sqlstm.arrsiz = 4; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select no into :b0 from liuyazheng where no=:b1"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )36; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)4352; sqlstm.occurs = (unsigned int )0; sqlstm.sqhstv[0] = ( void *)&userid; sqlstm.sqhstl[0] = (unsigned int )sizeof(int); sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&thisno; sqlstm.sqhstl[1] = (unsigned int )sizeof(int); sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); } printf( "First name = %d\n",userid); /* EXEC SQL COMMIT WORK RELEASE; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 12; sqlstm.arrsiz = 4; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )59; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)4352; sqlstm.occurs = (unsigned int )0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); } printf("Disconnect!\n"); return 1; }
phoenix无法正确解析 Sat Jul 26 09:59:57 CST 2014
在squirrel中通过toDate函数是可以的,但是在java中同样的代码无法解析。 报错为 java.sql.SQLException: ERROR 201 (22000): Illegal data. Unable to parse date/time 'Thu May 29 08:44:18 CST 2014' using format string of 'EEE MMM dd HH:mm:ss z yyyy'. 我的代码为 String sql ="UPSERT INTO \""+tableName+"\"(\"PK\",\"info\".\""+columnName+"\") SELECT \"PK\",CASE " +"WHEN \"info\".\""+columnName+"\" LIKE '%CST%' THEN REGEXP_SUBSTR(TO_CHAR(TO_DATE(\"info\".\""+columnName+"\",'EEE MMM dd HH:mm:ss z yyyy')),'[^\\.]+') " + …… + "ELSE \"info\".\""+columnName+"\" END FROM \""+tableName+"\" LIMIT 400000 OFFSET "+i; 简便起见中间的其他判断省略了,其他时间格式是可以判断并修改的,只要涉及CST之类时区的就无法解析。请不吝赐教,谢谢
vs2012通过occi连接oracle出错,是连接语句出错吗
#include <iostream> #define WIN32COMMON //避免函数重定义错误 #include <occi.h> using namespace std; using namespace oracle::occi; int main() { Environment *env; Connection *conn; Statement *stmt; ResultSet *rs; string username = "collect"; string password = "1234"; string connstring = "192.168.11.40:1521/orcl"; string sql,strname; string isno; env = Environment::createEnvironment(); //创建一个环境变量 conn = env->createConnection(username,password,connstring); //创建一个数据库连接对象 sql = "SELECT host_name FROM m_host "; //拼接一个SQL语句 stmt = conn->createStatement(sql); //创建一个Statement对象 stmt ->executeUpdate(); try { rs = stmt->executeQuery();//执行SQL语句 while (rs->next()) { //用循环,一条一条地取得查询的结果记录 isno = rs->getString(1);//取出第一列的值(对应为int型) cout << isno ; } cout << "SELECT ―― SUCCESS" << endl; } catch (SQLException ex) { cout << " Error Number : "<< ex.getErrorCode() << endl; //取出异常代码 cout << ex.getMessage() << endl; //取出异常信息 } conn->terminateStatement(stmt); //终止Statement对象 env->terminateConnection(conn); //断开数据库连接 Environment::terminateEnvironment(env); //终止环境变量 return 0; } 已经加载了头文件库文件还有lib文件,运行会有这个错误,是连接的语句出错了吗,![图片说明](https://img-ask.csdn.net/upload/201606/08/1465348771_880678.png)
c++ mysql_query 插入路径
c++ mysql_query执行insert时读不了\(\\ 这样也不行)怎么解决? 谢谢各位大神了! 我用的是VC,连接数据库用的是mysql的API函数 #include "winsock.h" #include "mysql.h" #pragma comment(lib,"libmySQL.lib") #include "stdio.h" #include "string.h" #include<iostream> using namespace std; char sql_query[150];//保存SQL语句 MYSQL* mysql_conn_setup(){ MYSQL* mysql=mysql_init(NULL); if(!mysql_real_connect(mysql,"localhost","root","root","test",0,NULL,0)){ cout<<"connection error"; exit(1); } cout<<"connection!"<<endl; return mysql; } void insert(MYSQL* mysql,char sql_query) { sprintf(sql_query,"insert into pic values(4,'1.0','zwg2@\\oo','1')"); if(mysql_query(mysql,sql_query)) { cout<<"insert fail!"<<endl; } cout<<"insert success!"<<endl; } void main(){ MYSQL* mysql; memset(sql_query,'\0',150); mysql=mysql_conn_setup();//连接数据库 insert(mysql,sql_query); mysql_free_result(res); mysql_close(mysql); }
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载 点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
JDK12 Collectors.teeing 你真的需要了解一下
前言 在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图????): 管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将 downstream1 和 downstre...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
作者 | Google团队 译者 | 凯隐 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 本文中,Google 团队提出了一种文本语音合成(text to speech)神经系统,能通过少量样本学习到多个不同说话者(speaker)的语音特征,并合成他们的讲话音频。此外,对于训练时网络没有接触过的说话者,也能在不重新训练的情况下,仅通过未知...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
4G EPS 第四代移动通信系统
目录 文章目录目录4G 与 LTE/EPCLTE/EPC 的架构E-UTRANE-UTRAN 协议栈eNodeBEPCMMES-GWP-GWHSSLTE/EPC 协议栈概览 4G 与 LTE/EPC 4G,即第四代移动通信系统,提供了 3G 不能满足的无线网络宽带化,主要提供数据(上网)业务。而 LTE(Long Term Evolution,长期演进技术)是电信领域用于手机及数据终端的高速无线通...
相关热词 如何提升c#开发能力 矩阵乘法c# c#调用谷歌浏览器 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天
立即提问