我想要搞一个超市的电子导购系统(手机版),对于向数据库中录入大量信息感到很不解,不知道用什么方法,想要用tranct——SQL,但是数据量过大,太过复杂,想用c#语言编写个函数或其他东西加一个与数据库连接的接口,不知道怎么写,我是个新手,请给位高手帮忙解答一下

解决方案 »

  1.   

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
     
    namespace DatabaSEOperate
    {
        class SqlOperateInfo
        {
            //Suppose your ServerName is "aa",DatabaseName is "bb",UserName is "cc", PassWord is "dd"
            PRivate string sqlConnectionCommand = "Data Source=aa;Initial Catalog=bb;User ID=cc;Pwd=dd";
            //This table contains two columns:KeywordID int not null,KeywordName varchar(100) not null
            private string dataTableName = "Basic_Keyword_Test";
     
            private string storedProcedureName = "Sp_InertToBasic_Keyword_Test";
            private string sqlSelectCommand = "Select KeywordID, KeywordName From Basic_Keyword_Test";
            //sqlUpdateCommand could contain "insert" , "delete" , "update" operate
            private string sqlUpdateCommand = "Delete From Basic_Keyword_Test Where KeywordID = 1";
     
            public void UseSqlReader()
            {
                SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.CommandType = System.Data.CommandType.Text;
                sqlCommand.Connection = sqlConnection;
                sqlCommand.CommandText = sqlSelectCommand;
     
                sqlConnection.Open();
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                while(sqlDataReader.Read())
                {
                    //Get KeywordID and KeywordName , You can do anything you like. Here I just output them.
                    int keywordid = (int)sqlDataReader[0]; 
                    //the same as: int keywordid = (int)sqlDataReader["KeywordID"]
                    string keywordName = (string)sqlDataReader[1]; 
                    //the same as: string keywordName = (int)sqlDataReader["KeywordName"]
                    Console.WriteLine("KeywordID = " + keywordid + " , KeywordName = " + keywordName);
                }
     
                sqlDataReader.Close();
                sqlCommand.Dispose();
                sqlConnection.Close();
            }
            public void UseSqlStoredProcedure()
            {
                SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.CommandType = CommandType.StoredProcedure;
                sqlCommand.Connection = sqlConnection;
                sqlCommand.CommandText = storedProcedureName;
     
                sqlConnection.Open();
                sqlCommand.ExecuteNonQuery();
                //you can use reader here,too.as long as you modify the sp and let it like select * from ....
     
                sqlCommand.Dispose();
                sqlConnection.Close();
            }
            public void UseSqlDataSet()
            {
                SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
                SqlCommand sqlCommand = new SqlCommand();
                sqlCommand.CommandType = System.Data.CommandType.Text;
                sqlCommand.Connection = sqlConnection;
                sqlCommand.CommandText = sqlSelectCommand;
     
                sqlConnection.Open();
                SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
                sqlDataAdapter.SelectCommand = sqlCommand;
                DataSet dataSet = new DataSet();
                //sqlCommandBuilder is for update the dataset to database
                SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);
                sqlDataAdapter.Fill(dataSet, dataTableName);
     
                //Do something to dataset then you can update it to Database.Here I just add a row
                DataRow row = dataSet.Tables[0].NewRow();
                row[0] = 10000;
                row[1] = "new row";
                dataSet.Tables[0].Rows.Add(row);
     
                sqlDataAdapter.Update(dataSet, dataTableName);
     
                sqlCommand.Dispose();
                sqlDataAdapter.Dispose();
                sqlConnection.Close();
            }
        }
    }
    资料引用:http://www.knowsky.com/345354.html网上太多了。
      

  2.   

    要看你的数据源是什么格式的,
    要是有规律的话,可以用程序动态拼成SQL语句插入
      

  3.   

    在C#中就用 SqlBulkCopy 类,