c# 执行sql语句的时候 返回的是DataTable

c# 执行sql语句的时候 返回的是DataTable 如果DataTable没有值的话 是==null 还是==0

c#

3个回答

你怎么获取DataTable的?如果是
DataTable dt = new DataTable();
然后用DataAdapter.Fill(d),如果sql没有返回记录应该判断dt.Rows.Count==0

如果你获取的代码做了其他判断返回null就要做null检查
if(dt==null||dt.Rows.Count==0)....

null,一般情况下,需要需要判断,如果结果是null,则return。

u011954277
小菜来袭 .Rows.Count==0这样呢
2 年多之前 回复

一般你写的sql查询数据的时候是return DataTable 的。你在获取这个datatable的时候先判断是否为空再进行下一步操作,if(datatable.Rows.Count!=0&&datatable!=null)
{........} 这两种情况都要判断的。

abcfgh
abcfgh 应该将 if(datatable.Rows.Count!=0&&datatable!=null) 写成 if(datatable!=null&&datatable.Rows.Count!=0) 因为,如果datatable==null时,将会报错
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#怎么读取oracle的long类型数据?
需要读取oracle视图sql语句,用PL/ Sql读取出来显示是Long类型,点击可以查看到sql,但是用C#程序怎么读取到呢?用OracleDataAdapter加载到DataTable显示是空字符串,用DataReader也显示是字符串类型且也是空字符串,明明查询结果应该是有数据的啊,服了Oracle,简单的结果读取都这么麻烦,望高手指教一下哦,以下附源码: OracleConnection conn = new OracleConnection(connString); string sql1 = string.Format("select text from user_views");//PL Sql中能查到数据,是大文本 //1.用OracleDataAdapter的方式 OracleDataAdapter vAdapter = new OracleDataAdapter(sql1, conn); DataTable vTable = new DataTable(); vAdapter.Fill(vTable); //行数与PL Sql读取的一样,但都是空字符串 this.dataGridView1.DataSource = vTable; //1.用DataReader的方式 var mCommand = new OracleCommand(); mCommand.Connection = conn; mCommand.CommandText = sql1; var tbResult = new DataTable("TB1"); try { conn.Open(); using (var reader = mCommand.ExecuteReader()) { var nFieldCount = reader.FieldCount; for (int intCounter = 0; intCounter < nFieldCount; ++intCounter) { tbResult.Columns.Add(reader.GetName(intCounter), reader.GetFieldType(intCounter)); } var objValues = new object[nFieldCount]; while (reader.Read()) { var t1 = reader.GetFieldType(0); //居然显示是String,但是却读不到字符串,PL/Sql显示是LONG类型 var arr1 = (byte[])reader[0]; //强制转换也不行,会报错:无法将类型为“System.String”的对象强制转换为类型“System.Byte[] var b1 = reader.GetOracleBlob(0); var s1 = reader.GetOracleString(0); var sr = reader.GetStream(0); } } } catch (Exception ex) { } finally { conn.Close(); }
C#中添加MySql的问题,请问大佬应该怎么修改,或者给出在C#中使用mysql的语句也行~感谢
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using MySQLDriverCS; public DataTable GetDataTable() { MySQLConnection conn = new MySQLConnection(new MySQLConnectionString("localhost","t2","Uxie","Sad-Mothday5^&").AsString); conn.Open(); MySQLCommand commn = new MySQLCommand("set names gb2312", conn); commn.ExecuteNonQuery(); string sql = "select * from tb1"; MySQLDataAdapter mda = new MySQLDataAdapter(sql,conn); DataTable dt = new DataTable(); mda.Fill(dt); conn.Close(); return dt; } 那个DataTable后面的GetDataTable()一直是红线提醒 命名空间不能直接包含字段或方法之类的成员 请问应该怎么修改???
C#连接SQLite数据库一定要有SQLiteHelper的类吗
public class SQLiteHelper { public const string sConn = "Data Source=" + @"path"; /// <summary> /// 查询,返回object ,得到查询结果的首行首列的值,若没有首行首列返回NUll /// </summary> /// <param name="sql">查询语句</param> /// <param name="parameters">可选参数</param> /// <returns></returns> public static object ExecuteScalar(string sql, params SQLiteParameter[] parameters) { return ExecuteScalar(sql, CommandType.Text, parameters); } /// <summary> /// 查询,返回object ,执行SQl语句,得到查询结果的首行首列,若没有首行首列返回null /// </summary> /// <param name="sql">查询语句</param> /// <param name="type">如何解释命令字符串</param> /// <param name="parameters">可选的参数</param> /// <returns></returns> public static object ExecuteScalar(string sql, CommandType type, params SQLiteParameter[] parameters) { using (SQLiteConnection conn = new SQLiteConnection(sConn)) { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.CommandType = type; cmd.Parameters.AddRange(parameters); object obj = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return obj; } } /// <summary> /// 执行增、删、改 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parameters">可选参数</param> /// <returns>返回int 得到受影响的行数</returns> public static int ExecuteNonQuery(string sql, params SQLiteParameter[] parameters) { return ExecuteNonQuery(sql, CommandType.Text, parameters); } /// <summary> /// 执行增、删、改 /// </summary> /// <param name="sql">sql语句</param> /// <param name="type">如何解释命令字符串</param> /// <param name="parameters">可选参数</param> /// <returns></returns> public static int ExecuteNonQuery(string sql, CommandType type, params SQLiteParameter[] parameters) { using (SQLiteConnection conn = new SQLiteConnection(sConn)) { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.CommandType = type; cmd.Parameters.AddRange(parameters); int num = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return num; } } /// <summary> /// 断开式查询,查询多个列 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parameters">可选参数</param> /// <returns>返回DataTable类型</returns> public static DataTable ExecuteTable(string sql, params SQLiteParameter[] parameters) { return ExecuteTable(sql, CommandType.Text, parameters); } /// <summary> /// 断开式查询,查询结果可为多个列 /// </summary> /// <param name="sql">sql语句</param> /// <param name="type">如何解释命令字符串</param> /// <param name="parameters">可选参数</param> /// <returns></returns> public static DataTable ExecuteTable(string sql, CommandType type, params SQLiteParameter[] parameters) { SQLiteConnection conn = new SQLiteConnection(sConn); conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.CommandType = type; cmd.Parameters.AddRange(parameters); SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds); conn.Close(); DataTable dt = ds.Tables[0]; return dt; } }
C# 操作mysql大批量插入语句,一次几万条,可以同时跳过指定的重复字段继续插入。
我现在用的是这个语句很卡 执行SQL语句 ``` DataTable dt = (dSkinGridList1.DataSource as DataTable); this.label1.Visible = true; pidJiazai.Visible = true; List<string> SQLStringLis = new List<string>(); for (int i = 0; i < dt.Rows.Count - 1; i++) { SQLStringLis.Add("insert ignore into shopsList values('" + dt.Rows[i][0].ToString() + "','','" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString() + "','0','0','0','" + DateTime.Now.ToString() + "')"); } ``` 插入执行 ``` public static bool insertPai(List<string> SQLStringList) { mysqlClass sqlL = new mysqlClass(); using (MySqlConnection conn = sqlL.getmysqlcon()) { conn.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = conn; MySqlTransaction tx = conn.BeginTransaction(); cmd.Transaction = tx; try { for (int n = 0; n < SQLStringList.Count; n++) { string strsql = SQLStringList[n].ToString(); if (strsql.Trim().Length > 1) { cmd.CommandText = strsql; cmd.ExecuteNonQuery(); } //后来加上的 if (n > 0 && (n % 500 == 0 || n == SQLStringList.Count - 1)) { tx.Commit(); tx = conn.BeginTransaction(); } } return true; //tx.Commit();//原来一次性提交 } catch (System.Data.SqlClient.SqlException E) { tx.Rollback(); throw new Exception(E.Message); } } } ``` 请教更好的,办法,速度更快。这个语句现在插入3000条就卡主了。在线等。谢谢!
C#程序调用SQL SERVER存储过程的output参数始终为空,求助?
C#中的如下两条语句调用存储过程output参数始终为空(dataGridView1能正确调用到想要的select数据,但是存储过程的两个输出参数值不能传递给两个texBox.Text),不知为何? textBox1.Text = parameters[2].Value.ToString(); textBox2.Text = nowpage + "/" + parameters[3].Value.ToString(); 存储过程代码: ``` USE [tushu] GO /****** Object: StoredProcedure [dbo].[fenye] Script Date: 12/05/2015 11:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[fenye] @pagenow int, @pagesize int, @countrow int output, @countpage int output AS IF(@pagesize=10) BEGIN declare @startRow int, @endRow int set @startRow = (@pagenow - 1) * @pagesize +1 set @endRow = @startRow + @pagesize -1 select checkbox,id,shuming,zuozhe,xueduan,nianji,beizhu from book where id between @startRow and @endRow order by id desc select @countrow=count(*) from book SET @countpage=(@countrow/@pagesize)+1 END ``` C#代码片段: ``` private void chaxun_Click(object sender, EventArgs e) { //查询条件默认 xueduan.SelectedIndex = 0; nianji.SelectedIndex = 0; hangshu.SelectedIndex = 0;//每页行数,默认10条每页 //tiaopage.Text = ""; //数据统计 //int counthang = 0; //int countpage = 0; int nowpage = 1; int sizepage = 10; int tiaopage = int.Parse(tiaozhuan.Text.Trim()); string xueDuan = xueduan.Text; string nianJi = nianji.Text; string shuMing = shuming.Text.Trim();//自动剔除收尾空格 string condatabase = ConfigurationManager.ConnectionStrings["mysql"].ConnectionString; string sql = "exec fenye @pagenow,@pagesize,NULL,NULL";//@countrow,@countpage SqlConnection conn = new SqlConnection(condatabase); dataGridView1.Rows.Clear(); try { SqlCommand cmmd = new SqlCommand(sql, conn);//执行SQL查询 // 创建参数 IDataParameter[] parameters = { new SqlParameter("@pagenow", SqlDbType.Int) , new SqlParameter("@pagesize", SqlDbType.Int) , new SqlParameter("@countrow", SqlDbType.Int) , new SqlParameter("@countpage", SqlDbType.Int) }; // 设置参数类型 parameters[0].Value = nowpage; parameters[1].Value = sizepage; // 设置为输出参数 parameters[2].Direction = ParameterDirection.Output; //设置为输出参数 parameters[3].Direction = ParameterDirection.Output; // 添加参数 cmmd.Parameters.Add(parameters[0]); cmmd.Parameters.Add(parameters[1]); cmmd.Parameters.Add(parameters[2]); cmmd.Parameters.Add(parameters[3]); conn.Open(); System.Data.DataTable dt = new System.Data.DataTable(); SqlDataAdapter da = new SqlDataAdapter(cmmd); da.Fill(dt); for (int i = 0; i < dt.Rows.Count; i++) { this.dataGridView1.Rows.Add(dt.Rows[i][0], dt.Rows[i][1], dt.Rows[i][2], dt.Rows[i][3], dt.Rows[i][4], dt.Rows[i][5], dt.Rows[i][6]); } if (dataGridView1.RowCount != 0) { dataGridView1.Rows[0].Cells[0].Selected = false;//设置列表首行默认不选中 } textBox1.Text = parameters[2].Value.ToString(); textBox2.Text = nowpage + "/" + parameters[3].Value.ToString(); } catch (Exception yichang) { MessageBox.Show(yichang.Message); } finally { conn.Close();//关闭数据库连接 } } ```
C# 修改数据时出现:对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成
string str = @"D:\MirServer龙纹之刃"; DataTable dt = DBItemDGV.DataSource as DataTable; if (Directory.Exists(str + @"\Mud2\DB\")) { //物品查看 string ConnectionString = @"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=" + str + @"\Mud2\DB;Dbq=" + str + @"\Mud2\DB;CollatingSequence=ASCII;PWD=;"; using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(ConnectionString)) { conn.Open(); string sql = String.Format("update StdItems set {0}={1} where Name={2}", DBItemDGV.Columns[e.ColumnIndex].DataPropertyName, //所选单元格修改后的值 DBItemDGV.SelectedRows[0].Cells[e.ColumnIndex].Value, //所选单元格修改后的值 DBItemDGV.SelectedRows[0].Cells[1].Value); using (System.Data.Odbc.OdbcDataAdapter da = new OdbcDataAdapter(sql, conn)) { OdbcCommandBuilder b = new OdbcCommandBuilder(da); da.UpdateCommand = b.GetUpdateCommand(); da.Update(dt); } conn.Close(); } } ``` ``` select语句都是正常的,试过很多方法了,主要是自己对这块不是很理解,有没有大神? 先看看我代码有没有问题,然后再给个解决办法吧
c# sqlserver 查询两个表中数据用datagridview 显示出来 老师出错 求大神指导
string sql = " select a.2, a.3, b.2, b.3 from a, b, c where a.1= c.1 and b.1 = c.1 "; //查询语句太长 我就直接把意思表达出来 没有粘代码 DataSet ds1 = new DataSet(); DataTable dt = new DataTable (); DataSet ds2 = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(sql, conn); da.Fill(ds1); dt = ds1.Tables[0].Copy(); ds2.Tables.Add(dt); dataGridView1.DataSource = ds2.Tables[0];
c# 从oracle中查询数据,设置时间参数问题,在线等
各位大神,小弟刚接触c#时间不长,写了个程序,从界面上datatimepicker中取出时间,然后在c#代码的sql语句中设置时间参数,无论怎么设置要不就查不到数据,要不就是时间格式设置的不对,下面是代码 public DataTable QueryUsedMaterial(string classgroup, string beginTime, string endTime) { string sql_QueryMaterialsQty = @"select rtrim(mh.schemeid) as 订单,it1.name as 牌号,mh.field3 as 班组," +"ud.modelcode as 盘号名称,ud.callqty as 呼料数量,ud.returnqty as 退还数量,ud.usedqty as 使用数量," +"it.name as 物料名称,ud.USEDMATERIALSDETAILID as ID,ud.usedmaterialsid from machineproductplanhis mh " +"inner join usedmaterialshead uh on rtrim(mh.schemeid) = uh.field1 inner join usedmaterialsdetail ud " +"on uh.usedmaterialsid = ud.usedmaterialsid inner join item it on ud.itemcode = it.code inner join item " +"it1 on mh.itemid = it1.itemid where mh.field3 =:classgroup and mh.createdate >= " +"to_date(:beginTime,'yyyy/mm/dd hh24:mi:ss') and mh.createdate <=to_date(:endTime,'yyyy/mm/dd hh24:mi:ss')"; OracleParameter[] paras = { new OracleParameter(":classgroup",OracleType.NVarChar), new OracleParameter(":beginTime",OracleType.DateTime), new OracleParameter(":endTime",OracleType.DateTime) }; paras[0].Value = classgroup.ToString(); paras[1].Value = DateTime.Parse(beginTime); paras[2].Value = DateTime.Parse(endTime); //paras[1].Value = beginTime.ToString(); //paras[2].Value = endTime.ToString(); DataTable dt = OracleHelper.SelectDateTable(sql_QueryMaterialsQty, paras); return dt;
关于C#windForm插入数据库语句问题,
private void btnck_Click(object sender, EventArgs e) { string s = "insert into rkd values(rkdNo=@no,rkdRq=@rq,rkdZsl=@zls,rkdZje=@zje,rkdSjje=@sjje,rkdZk=@zk,rkdglyNo=@gly,rkdgysNo=@gys)"; SqlParameter[] paras = new SqlParameter[8]; paras[0] = new SqlParameter("@no", txtbh.Text); paras[1] = new SqlParameter("@rq", txtrq.Text); paras[2] = new SqlParameter("@zls", txtzsl.Text); paras[3] = new SqlParameter("@zje", txtzje.Text); paras[4] = new SqlParameter("@sjje", txtsjje.Text); paras[5] = new SqlParameter("@zk", txtzke.Text); paras[6] = new SqlParameter("@gly", txtckr.Text); paras[7] = new SqlParameter("@gys", cmbgys.SelectedValue.ToString()); for (int i = 0; i < dgvckqd.RowCount; i++) { string b = "insert into rkmx values(rkmxNo=@no,rkmxspbh=@spbh,rkmxDj=@dj,rkmxSl=@sl,rkmxZj=@zj,rkmxZk=@zk,rkmxSj=@sj,rkmxrkdNo=@rkd)"; SqlParameter[] para = new SqlParameter[8]; string cx = "select max(rkmxNo) from RKMX"; DataTable da = Sql.ExecuteQuery(cx); string maxNo = da.Rows[0][0].ToString(); if (maxNo == "") { maxNo = "R001"; } else { string bh = maxNo.Substring(1); int max = int.Parse(bh) + 1; maxNo = "R" + max.ToString("000"); } string aa, bb, cc, dd, ee, ff; aa = dgvckqd.Rows[i].Cells["pid"].Value.ToString(); bb = dgvckqd.Rows[i].Cells["pric"].Value.ToString(); cc = dgvckqd.Rows[i].Cells["pnums"].Value.ToString(); dd = dgvckqd.Rows[i].Cells["totalMoney"].Value.ToString(); ee = dgvckqd.Rows[i].Cells["zk"].Value.ToString(); ff = dgvckqd.Rows[i].Cells["Monye"].Value.ToString(); para[0] = new SqlParameter("@no", maxNo); para[1] = new SqlParameter("@spbh",aa); para[2] = new SqlParameter("@dj", bb); para[3] = new SqlParameter("@sl", cc); para[4] = new SqlParameter("@zj", dd); para[5] = new SqlParameter("@zk", ee); para[6] = new SqlParameter("@sj", ff); para[7] = new SqlParameter("@rkd", txtbh.Text); //if(Sql.ExcuteNonQuery(b,para)>0) //{ // MessageBox.Show("添加成功"); //} //else //{ // MessageBox.Show("添加失败"); //} } if (Sql.ExcuteNonQuery(s, paras) > 0) { MessageBox.Show("插入成功"); } } }![图片说明](https://img-ask.csdn.net/upload/201607/01/1467362990_782429.png)
菜鸟,不会写sql,c#,access
string jizuname1 = textBox4.Text; string zhuanziname1 = textBox5.Text; double zhuanzi11 = Convert.ToInt32(textBox101.Text); double zhuanzi12 = Convert.ToInt32(textBox111.Text); double zhuanzi13 = Convert.ToInt32(textBox121.Text); string sql = " INSERT INTO 转子基本参数 values('" + jizuname1 + "','" + zhuanziname1 + "'," + zhuanzi11 + "," + zhuanzi12 + "," + zhuanzi13 + ")"; loaddata.instance.ExecuteSQL(sql); 为什么每次都插不到数据库呢 在access中直接执行这句话,可以插入数据, INSERT INTO 转子基本参数 values('aa','s',1,2,3) “转子基本参数表” 中五个字段分别是 文本,文本,数字,数字,数字 public int ExecuteSQL(string SQLString)//执行SQL语句 { string strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + @"\data\wang.accdb"; using (OleDbConnection connection = new OleDbConnection(strConnection)) { using (OleDbCommand cmd = new OleDbCommand(SQLString, connection)) { OleDbTransaction tx = null; try {//通过连接启动事务 connection.Open();//一个连接对象只能调用一次 tx = connection.BeginTransaction(); cmd.Transaction = tx;//一个连接对象可以调用多次 int rows = cmd.ExecuteNonQuery();//执行数据库 非查询类操作、 tx.Commit(); connection.Close(); return rows; } catch (System.Data.OleDb.OleDbException e) { tx.Rollback(); connection.Close(); throw e; } } } } public DataTable QuerySQL(string sql) { DataSet dset = new DataSet(); try { //1、建立连接 Microsoft.Jet.OLEDB.4.0 string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + @"\data\wang.accdb"; OleDbConnection odcConnection = new OleDbConnection(strConn); //2、打开连接 odcConnection.Open(); //建立SQL查询 OleDbCommand odCommand = odcConnection.CreateCommand(); //3、输入查询语句 odCommand.CommandText =sql; OleDbDataAdapter ODbda = new OleDbDataAdapter(); ODbda.SelectCommand = odCommand; ODbda.Fill(dset); odcConnection.Close(); } catch (OleDbException ex) { MessageBox.Show(ex.Message, "数据库连接有问题!"); } // return dset.Tables[0]; if (dset != null) return dset.Tables[0]; else return null; } 以上是数据库信息,数据库应该是连上了,别的地方也取过数据,成功了
C# 我用SQL在几张table里面抓了一些数据放到EXCLE模板里,通过判断栏位的值加底色
我用SQL在几张table里面抓了一些数据放到EXCLE里,现在表里面有CBRS_REQUIRED这个列,通过判断CBRS_REQUIRED这个列里面的值是否是‘yes’,如果是‘yes‘的话则给yes的这一行底色改成红色。我现在只能给excel所有的行都加上红色底色,希望大家帮我加上这个判断。谢谢,下面是代码,底色我写在最后。 using System; using System.Text; using System.IO; using NPOI.HSSF.UserModel; using NPOI.HPSF; using NPOI.POIFS.FileSystem; using NPOI.HSSF.Util; using NPOI.SS.UserModel; using System.Data; using System.Data.OleDb; using Microsoft.Win32; namespace NPOIExcel { class NPOIExcelwork { static HSSFWorkbook hssfworkbook; static OleDbConnection oleCon; static ICellStyle cellStyle; public void excelwork() { //正式环境 string Maskfile = @"D:\SRC_CODE\Release_List.xls"; string time = DateTime.Now.ToString("yyyyMMdd"); string ReportFile = @"D:\EBAUTOSEND\Release_List" + time + ".xls"; #region//取得模板 if (File.Exists(Maskfile) == true) { FileStream file = new FileStream(Maskfile, FileMode.Open, FileAccess.Read); hssfworkbook = new HSSFWorkbook(file); file.Close(); cellStyle = hssfworkbook.CreateCellStyle(); } else { return; } #endregion #region//建立Sheet,可以多个 ISheet sheet = hssfworkbook.GetSheetAt(0);//建立Sheet sheet.ForceFormulaRecalculation = true;//保持Sheet公式 #endregion #region//填值部分 DataTable DT = DB(); if (DT.Rows.Count > 0) { for (int i = 0; i < DT.Rows.Count; i++) { sheet.CreateRow(i + 1); for (int j = 0; j < DT.Columns.Count; j++) { judge(DT.Rows[i][j], i + 1, j, sheet); } } DT.Dispose(); } else { return; } #endregion #region//文件输出 try { FileStream FileTo = new FileStream(ReportFile, FileMode.Create); hssfworkbook.Write(FileTo); FileTo.Close(); } catch { return; } #endregion } #region//取得数据库资料 ## = @"sql语句"; try { OleDbDataAdapter Oda = new OleDbDataAdapter(SQL, oleCon); DataTable tab = new DataTable("TB"); Oda.Fill(tab); Oda.Dispose(); oleCon.Dispose(); return tab; } catch { return new DataTable(); } } #endregion #region//放入值,行数,列数,Sheet对象 static void judge(object DT, int i, int j, ISheet sheet1) { switch (DT.GetType().ToString()) { //case "System.Decimal": // Double value = 0; // Double.TryParse(DT.ToString(), out value); // sheet1.GetRow(i).CreateCell(j).SetCellValue(value); // break; //case "System.DateTime": // DateTime TM; // DateTime.TryParse(DT.ToString(), out TM); // sheet1.GetRow(i).CreateCell(j).SetCellValue(TM); // break; //case "System.Double": // sheet1.GetRow(i).CreateCell(j).SetCellValue(Double.Parse(DT.ToString())); // break; default: ICell cell = sheet1.GetRow(i).CreateCell(j); cell.SetCellValue(DT.ToString()); cellStyle = cell.CellStyle as HSSFCellStyle; cellStyle.FillForegroundColor = HSSFColor.Red.Index; cellStyle.FillPattern = FillPattern.SolidForeground; cell.CellStyle = cellStyle; break; } } #endregion } }
c#对数据表格控件已选行记录的调用
public partial class FrmMainfo : Form { public FrmMainfo() { InitializeComponent(); } string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString; private void button2_Click(object sender, EventArgs e) { FrmMadetail frmmadetail = new FrmMadetail(); frmmadetail.Show(); } private void FrmMainfo_Load(object sender, EventArgs e) { comboBox2.SelectedIndex = 0; comboBox3.SelectedIndex = 0; string sql = "select Id,sbmc,sbbh,sbfl,sblx,ggxh,azwz,sccj,sybm,sycj from Information"; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); DataTable dt = new DataTable(); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(dt); dataGridView1.DataSource = dt; } public class DvgData { public string id = ""; public string ID { get { return id; } set { id = value; } } } private void dataGridView1ListHeadText() { dataGridView1.Columns[0].HeaderText = "编号"; dataGridView1.Columns[1].HeaderText = "设备名称"; dataGridView1.Columns[2].HeaderText = "设备编号"; dataGridView1.Columns[3].HeaderText = "设备分类"; dataGridView1.Columns[4].HeaderText = "设备类型"; dataGridView1.Columns[5].HeaderText ="规格型号"; dataGridView1.Columns[6].HeaderText ="安装位置"; dataGridView1.Columns[7].HeaderText ="生产厂家"; dataGridView1.Columns[8].HeaderText = "使用部门"; dataGridView1.Columns[9].HeaderText = "使用车间"; dataGridView1.Columns[10].HeaderText = "外形尺寸"; dataGridView1.Columns[10].Visible = false; dataGridView1.Columns[11].HeaderText = "总重"; dataGridView1.Columns[11].Visible = false; dataGridView1.Columns[12].HeaderText = "总功率"; dataGridView1.Columns[12].Visible = false; dataGridView1.Columns[13].HeaderText = "出厂编号"; dataGridView1.Columns[13].Visible = false; dataGridView1.Columns[14].HeaderText = "制造日期"; dataGridView1.Columns[14].Visible = false; dataGridView1.Columns[15].HeaderText = "使用日期"; dataGridView1.Columns[15].Visible = false; dataGridView1.Columns[16].HeaderText = "购入日期"; dataGridView1.Columns[16].Visible = false; } private void button1_Click(object sender, EventArgs e) { string azwz = ""; //定义一个string 类型的变量 azwz = comboBox3.SelectedItem.ToString(); string sbfl=""; sbfl = comboBox2.SelectedItem.ToString(); string sqf = "select * from Information where azwz = '" +azwz.Trim() + "'and sbfl = '" +sbfl.Trim() + "'"; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sqf, conn); conn.Open(); DataTable dt = new DataTable(); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(dt); dataGridView1.DataSource = dt; this.dataGridView1ListHeadText(); } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > 0) { int id = (int)dataGridView1.Rows[e.RowIndex].Cells[0].Value;//记录选中的ID号 } } } } public partial class FrmMadetail : Form { public FrmMadetail() { InitializeComponent(); } string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString; FrmMainfo frmmainfo = new FrmMainfo(); private void FrmMadetail_Load(object sender, EventArgs e) { string sqf = "select * from Information where ID = 1"; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sqf, conn); conn.Open(); DataTable dt = new DataTable(); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(dt); textBox1.Text = dt.Rows[0][1].ToString(); textBox2.Text = dt.Rows[0][2].ToString(); textBox3.Text = dt.Rows[0][3].ToString(); textBox4.Text = dt.Rows[0][4].ToString(); } 本人小白一个 现在需要把第一个窗体数据表格控件 选中的行 INT 记录下来 接着在 另外一个窗体LOAD事件中 利用这个记录值 用SQL语句进行查询 这个代码要如何实现呢 谢谢大家 初来咋到 全部自学啊 很辛苦
如何通过JS、JQuery、BootStrip-table的table标签来显示数据
使用C#在后台通过SQL语句获取到Datatable数据,如何通过JS、JQuery、BootStrip-table来显示数据,类似于ASPX的datagridview的功能。? 你好,我是一个JS初学者。 原来我使用webform的aspx,后台通过SQL语句获取到Datatable数据,再赋值给Datagridview来显示数据,而且sql语句查询多少列,datagridview显示多少列。 现在我想通过JS、JQuery、BootStrip-table中的table标签来显示数据,我该如何实现? 我也在网上查过BootStrip-table插件使用,但是介绍的都要事先设置列明,但是我sql语句查询出的有很多列,设置很麻烦。 不知道还有没有更好的实现方法?
sql语句的子查询建成下面那样,使yi那列作为主键,下面的sql语句应该怎么改
``` if (comboBox1.Text=="CHR1") { n1 = 1; } else if(comboBox1.Text == "CHR2") { n1 = 2; } else if (comboBox1.Text == "CHR3") { n1 = 3; } else if (comboBox1.Text == "CHR4") { n1 = 4; } else if (comboBox1.Text == "CHR5") { n1 = 5; } if (comboBox2.Text == "1") { n2 = 6; } else if (comboBox2.Text == "2") { n2 = 7; } else if (comboBox2.Text == "3") { n2 = 8; } else if (comboBox2.Text == "4") { n2 = 9; } else if (comboBox2.Text == "5") { n2 = 10; } if (comboBox3.Text == "1002") { n3 = 11; } else if (comboBox3.Text == "1009") { n3 = 12; } else if (comboBox1.Text == "1666") { n3 = 13; } else if (comboBox1.Text == "1019") { n3 = 14; } else if (comboBox1.Text == "1676") { n3 = 15; } string dbPath = @"D:\历年高考分数.db"; string sq = @"Data Source=" + dbPath; m = new SQLiteConnection(sq); m.Open(); SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select *,yxlc from 表6,表1 where yi=y(n1+n2+n3)", m); DataSet ds = new DataSet(); mAdapter.Fill(ds); //mAdapter1.Fill(ds); DataTable dt = ds.Tables[0]; //设置图表的数据源 Series Series1 = new Series(); chart1.DataSource = dt; ``` 图一是建的表格,不知道有没有问题,图二是用sqlite使yi成为主键,图三是上面程序显示的错误 ![图片说明](https://img-ask.csdn.net/upload/201908/23/1566553403_994006.png)![图片说明](https://img-ask.csdn.net/upload/201908/23/1566553438_829187.png)![图片说明](https://img-ask.csdn.net/upload/201908/23/1566553472_511895.png)
当sql语句中从两表中查询的两列模糊时,如何处理
``` string wax = comboBox1.Text + comboBox2.Text + comboBox3.Text;string s=comboBox1.Text+comboBox2.Text+comboBox3.Text; SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + wax + ",para," + s + " from 电缆参数,电缆参数1", m); chart2.Series[0].YValueMembers = wax;chart2.Series[1].YValueMembers = s; ``` 两组数(wax,s)都需要根据下拉框的值来选择列,启动时显示ambiguous column name: CHR111009(comboBox1.Text=CHR1,comboBox2.Text=1,c omboBox3.Text=1009) 也试过 ``` SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + wax + ",para from 电缆参数 union select " + s + ",para from 电缆参数1 ", m); ``` 显示 union前后所取得列数应一样 也试过 ``` string dbPath = @"D:\历年高考分数.db"; string sq = @"Data Source=" + dbPath; m = new SQLiteConnection(sq); m.Open(); SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + wax + ",para from 电缆参数", m); SQLiteDataAdapter mAdapter1 = new SQLiteDataAdapter("select " + s + " from 电缆参数1", m); DataSet ds = new DataSet(); DataSet ds1 = new DataSet(); mAdapter.Fill(ds); mAdapter1.Fill(ds1); DataTable dt = ds.Tables[0]; DataTable dt1 = ds1.Tables[0]; //设置图表的数据源 chart2.DataSource = dt; //chart2.DataSource = dt1+dt; chart2.DataSource = dt1; ``` 启动时会显示找不到名为“para”的列。但表中有“para”列,可能 chart2.DataSource以最后出现的dt1为准。可不可以让wax,s分别是同一列的前20个数,后20个数 如果不行,应该怎么改
(我原来问的不小心给删了)sql语句SQL logic error near ",": syntax error一般错误出在哪里
想达到的效果:主窗口上面是一个容器panel,里面有3个下拉框,左边是一个toolStrip菜单栏,剩余部分是一个panel1(用来显示五个子窗口),如第一个图;按完第一个按钮,在主窗口的panel1上显示第一个子窗口(Win1)的内容,效果如图二; a是comboBox1.Text,b 是comboBox2.Text,c是comboBox3.Text,为了方便子窗口调用主窗口public static string a; public static string b;public static string c;有令string e = Form1.a; string f = Form1.b; string g = Form1.c;不知道对不对 下面是主窗口用的部分程序 ``` public static string a; public static string b;public static string c;Win1 w1; w1 = new Win1();string a = comboBox1.Text; string b = comboBox2.Text; string c = comboBox3.Text; private void toolStripButton1_Click(object sender, EventArgs e) { this.panel1.Controls.Clear(); // 清空原有的控件 w1.TopLevel = false; // 非顶级窗口 w1.FormBorderStyle = FormBorderStyle.None; // 不显示标题栏 //w1.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel w1.WindowState = FormWindowState.Maximized; this.panel1.Controls.Add(w1); // 添加w1窗体 //w1.Show(this); w1.Show(); flag = true; } private void button1_Click(object sender, EventArgs e) { if (flag == true && flag1 == true && flag2 == true) { w1.Creatchart1(); } } ``` 下面是Win1的其中的一个chart的程序 ``` private void Creatchart1() { string e = Form1.a; string f = Form1.b; string g = Form1.c; string wax = e + f + g; string dbPath = @"D:\历年高考分数.db"; string sq = @"Data Source=" + dbPath; m = new SQLiteConnection(sq); m.Open(); SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + wax + ",yxlc from 表2", m); DataSet ds = new DataSet(); mAdapter.Fill(ds); DataTable dt = ds.Tables[0]; Series Series1 = new Series(); chart1.DataSource = dt; Series1.IsValueShownAsLabel = false;//是否显示图例 chart1.Series.Add(Series1); chart1.Series["Series1"].ChartType = SeriesChartType.Spline;//形状 chart1.Series[0].XValueMember = "yxlc";//X轴数据成员列 chart1.Series[0].YValueMembers = wax; chart1.Series[0].IsValueShownAsLabel = true;//显示坐标 chart1.DataBind(); chart1.BringToFront(); m.Close(); } ``` 启动时在mAdapter.Fill(ds);处显示其他信息: SQL logic error near ",": syntax error ,应该怎么改 ![图片说明](https://img-ask.csdn.net/upload/201908/30/1567155298_585744.png)![图片说明](https://img-ask.csdn.net/upload/201908/30/1567155318_123552.png)
sql语句中多表查询问题
``` string wax = comboBox1.Text + comboBox2.Text + comboBox3.Text;string s=comboBox1.Text+comboBox2.Text+comboBox3.Text; SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + wax + ",para," + s + " from 电缆参数,电缆参数1", m); chart2.Series[0].YValueMembers = wax;chart2.Series[1].YValueMembers = s; ``` 两组数都需要根据下拉框的值来选择列 启动时显示ambiguous column name: CHR111009(comboBox1.Text=CHR1,comboBox2.Text=1,comboBox3.Text=1009) 这要如何处理啊 若数据的套句都是用两遍 ``` string dbPath = @"D:\历年高考分数.db"; string sq = @"Data Source=" + dbPath; m = new SQLiteConnection(sq); m.Open(); SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + wax + ",para from 电缆参数", m); SQLiteDataAdapter mAdapter1 = new SQLiteDataAdapter("select " + s + " from 电缆参数1", m); DataSet ds = new DataSet(); DataSet ds1 = new DataSet(); mAdapter.Fill(ds); mAdapter1.Fill(ds1); DataTable dt = ds.Tables[0]; DataTable dt1 = ds1.Tables[0]; //设置图表的数据源 chart2.DataSource = dt; //chart2.DataSource = dt1+dt; chart2.DataSource = dt1; ``` 启动时会显示找不到名为“para”的列。但表中有“para”列 ![图片说明](https://img-ask.csdn.net/upload/201909/11/1568170795_395287.png)
sql语句SQL logic error near ",": syntax error一般错误出在哪里
想达到的效果:主窗口上面是一个容器panel,里面有3个下拉框,左边是一个toolStrip菜单栏,剩余部分是一个panel1(用来显示五个子窗口),如第一个图;按完第一个按钮,在主窗口的panel1上显示第一个子窗口(Win1)的内容,效果如图二; 下面是主窗口用的部分程序 ``` public static string a; public static string b;public static string c;Win1 w1; w1 = new Win1();string a = comboBox1.Text; string b = comboBox2.Text; string c = comboBox3.Text; private void toolStripButton1_Click(object sender, EventArgs e) { this.panel1.Controls.Clear(); // 清空原有的控件 w1.TopLevel = false; // 非顶级窗口 w1.FormBorderStyle = FormBorderStyle.None; // 不显示标题栏 //w1.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel w1.WindowState = FormWindowState.Maximized; this.panel1.Controls.Add(w1); // 添加w1窗体 //w1.Show(this); w1.Show(); flag = true; } private void button1_Click(object sender, EventArgs e) { if (flag == true && flag1 == true && flag2 == true) { w1.Creatchart1(); } } ``` 下面是Win1的其中的一个chart的程序 ``` private void Creatchart1() { string e = Form1.a; string f = Form1.b; string g = Form1.c; string wax = e + f + g; string dbPath = @"D:\历年高考分数.db"; string sq = @"Data Source=" + dbPath; m = new SQLiteConnection(sq); m.Open(); SQLiteDataAdapter mAdapter = new SQLiteDataAdapter("select " + wax + ",yxlc from 表2", m); DataSet ds = new DataSet(); mAdapter.Fill(ds); DataTable dt = ds.Tables[0]; Series Series1 = new Series(); chart1.DataSource = dt; Series1.IsValueShownAsLabel = false;//是否显示图例 chart1.Series.Add(Series1); chart1.Series["Series1"].ChartType = SeriesChartType.Spline;//形状 chart1.Series[0].XValueMember = "yxlc";//X轴数据成员列 chart1.Series[0].YValueMembers = wax; chart1.Series[0].IsValueShownAsLabel = true;//显示坐标 chart1.DataBind(); chart1.BringToFront(); m.Close(); } ``` 启动时在mAdapter.Fill(ds);处显示其他信息: SQL logic error near ",": syntax error ,应该怎么改 ![图片说明](https://img-ask.csdn.net/upload/201908/30/1567155000_964508.png)![图片说明](https://img-ask.csdn.net/upload/201908/30/1567155019_611468.png)
读取sqldatareader中数据到datatable失败:未将对象引用设置到对象实例
![图片说明](https://img-ask.csdn.net/upload/201702/15/1487129119_389633.png) 代码如上。将sql语句放在sqlserver执行能读到一条数据。 如果使用sdr[6]能取到值。 为什么无法用load()方法读取? 谢谢
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了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 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法不过,当我看了源代码之后这程序不到50
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问