C#小白问个关于sqlsql查询语句问号的问题

C#中关于SQL数据库连接超时的问题
&add name=&ConnectionString& connectionString=&Data Source=initial catalog=user id=Connect Timeout=30;& providerName=&System.Data.SqlClient&/& 超时设置增加 Connect Timeout=30 30的单位是秒
在运行SQL企业管理器管理一台在网通的SQL数据服务器上面的数据时,经常碰到&连接超时已过期&的问题.
经多次使用,解决方法如下:
&&&&&& 1、在企业管理器中,选择菜单上的&工具&,再选择&选项&;   2、在弹出的&SQL Server企业管理器属性&窗口中,点击&高级&选项卡;   3、在&连接设置&下的&登录超时(秒)&右边的框中输入一个比较大的数字,如60。
   查询分析器中也可以在同样位置进行设置。
  如果传输协议不对应也会出现这个错误,请查看服务端和客户端的传输协议是否一致,一般使用TCP/IP协议和&命名通道&两种,如果一种不行,换另一种试试:用服务器的IP地址和服务器名称进行SQL连接各试一试。
请各位遵纪守法并注意语言文明博客分类:
C#使用OleDb读取Excel,生成SQL语句
之前在也要对读取Excel文件,那时用的是Microsoft.Office.Interop.Excel组件,有一个致命的问题:读取效率低到不能忽略。所以一直想着有机会去换一个读取的机制,上网google了下,发现使用OleDb读写的效率是很不错的,所以在写把Excel的数据导成SQL语句的工具时,我就使用了OleDb,效率那是毫无疑问的。其实使用Microsoft.Office.Interop.Excel组件去读取Excel是相当于打开一个excel程序,而OleDb其实就是对Excel按数据库的方式进行读写。
少说废话,直接贴代码
using System.Collections.G
using System.L
using System.T
using System.IO;
using System.R
using Excel = Microsoft.Office.Interop.E
using System.D
using System.Data.OleDb;
using System.Windows.F
namespace ReadXlsxData
static class ParseXlsx
public static readonly int COMMENT_INDEX=4;
//字段说明行下标
public static readonly int KEY_INDEX = 5;
//主键行下标
public static readonly int TYPE_INDEX = 6;
//字段类型行下标
public static readonly int SQLNAME_INDEX = 7;
//数据库字段名行下标
public static readonly int VALUE_INDEX = 8;
//value 行下标
public static StringBuilder objectData = new StringBuilder();
public static DataTable ToDataSet(string filePath)
string connStr = "";
string fileType = System.IO.Path.GetExtension(filePath);
if (string.IsNullOrEmpty(fileType))
if (fileType == ".xls")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\"";
string sql_F = "Select * FROM [{0}]";
OleDbConnection conn =
OleDbDataAdapter da =
DataTable dataTable = new DataTable();
// 初始化连接,并打开
conn = new OleDbConnection(connStr);
conn.Open();
da = new OleDbDataAdapter();
da.SelectCommand = new OleDbCommand(String.Format(sql_F, "Sheet1$"), conn);
da.Fill(dataTable);
catch (Exception ex)
// 关闭连接
if (conn.State == ConnectionState.Open)
conn.Close();
da.Dispose();
conn.Dispose();
conn.Close();
da.Dispose();
conn.Dispose();
return dataT
public static string ReadExcelFile(string namef, string sqlfile, string sqlcomment)
objectData.Clear();
DataTable dt = ToDataSet(namef);
string temp, key,temp1,temp2;
List&int& index = new List&int&();
//创建表头
objectData.Append("DROP TABLE IF EXISTS `" + sqlfile + "`;\n");
objectData.Append("CREATE TABLE `" + sqlfile + "` (\n");
int columnSize = dt.Columns.C
int rowSize = dt.Rows.C
temp = string.E
key = string.E
temp1 = string.E
temp2 = string.E
DataRow dr5 = dt.Rows[COMMENT_INDEX],dr9=dt.Rows[SQLNAME_INDEX],dr8=dt.Rows[TYPE_INDEX];
for (int i = 1; i & columnS i++)
dc = dt.Columns[i];
temp2 = dr5[dc].ToString();
temp1 = dr9[dc].ToString();
if (temp2 == string.Empty)//空列判断
else if (temp1.ToString() != string.Empty)
//数据库字段
index.Add(i);
temp = dr8[dc].ToString();
if (temp.Contains("vachar"))
objectData.Append("\t`" + temp1 + "` " + temp + " NOT NULL DEFAULT '' COMMENT '" + temp2 + "',\n");
objectData.Append("\t`" + temp1 + "` " + temp + " NOT NULL DEFAULT '0' COMMENT '" + temp2 + "',\n");
temp = dt.Rows[KEY_INDEX][dc].ToString();
if (temp != null && temp.Contains("key"))
key += "`" + temp1 + "` ";
if(key!=string.Empty)
objectData.Append("\tPRIMARY KEY (" + key + ")\n");
objectData.Append(") ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='" + sqlcomment + "';\n");
for (int i = VALUE_INDEX; i & rowS i++)
//读取数据记录
objectData.Append("INSERT INTO `" + sqlfile + "` VALUES ('");
dr = dt.Rows[i];
int length = index.C
for (int j = 0; j & j++)
objectData.Append(dr[index[j]] + "','");
objectData.Remove(objectData.Length - 3, 2);
objectData.Append(");\n");
return objectData.ToString();
注:这段代码去掉了通用性,只考虑了读取Excel第一个sheet的情况。
下面附上自己做的例子:
转载在文首注明出处:
更多精彩请关注D.S.Qiu的和微博(ID:静水逐风)
浏览: 946011 次
来自: 广州
浏览量:153774
[quo[color=red]te][/color]
博主,你好,一直都有个问题没有搞明白,就是 2.x的版本是通过 ...
感谢楼主!
感谢!从你的博客里学到了很多
学习了~,话说现在的版本custom还真的变委托了
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'17:04 提问
C#中sql语句不能正常执行,各位大牛帮忙看一下
private void Form3_Load(object sender, EventArgs e)
string sql = "insert into Phone3 (select * from Phone1 union select * from Phone2)";
SqlConnection con = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand(sql,con);
con.Open();
if( cmd.ExecuteNonQuery()==0)
MessageBox.Show(@"成功!");
con.Close();
没有插入成功,也没有弹出MessageBox。
断点调试是出现了:
线程 0x163c 已退出,返回值为 259 (0x103)。
“System.Data.SqlClient.SqlException”类型的第一次机会异常在 System.Data.dll 中发生
各位帮小弟一把,刚学C#,好多不懂的。
按赞数排序
什么数据库?如果是 SQL Server 是不应该有括号的。
你最好在数据库中把 SQL 运行成功了再放到程序中。
你的sql语句有问题吧,直接数据库中执行一下。
有可能你执行数据插入时出错,导致后面代码没有执行
if( cmd.ExecuteNonQuery()==0)
MessageBox.Show(@"成功!");
a= cmd.ExecuteNonQuery();//看看是不是在这里就出错了
MessageBox.Show(@"成功!");
sql语句的格式是:insert into Phone3 (舒心,属性,属性,属性) values (值,值,值,值);所以在这里你可以看一下select * from Phone1 union select * from P
hone2查询出来的是哪些属性然后放在Phone(3)里面
应该是sql语句有问题,调试下,把完整的sql语句粘出来,在数据库里执行下,很明白的可以看到哪里有问题
确实应该先把sql在查询编辑器中执行一下,看下能不能行,如果怕更改了数据,可以用BEGIN TRAN 和 ROLLBACK 包裹起来。
其他相关推荐安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&

我要回帖

更多关于 sql 语句问号的使用 的文章

 

随机推荐