标签: sqlconnection

.net SQL Server存储过程包装器类结构

我正在寻找一个C#SQL Server包装器来调用一些存储过程.如果我正在写一个函数,我会做类似下面的事情(我认为是正确的/正确的):

void RunStoredProc1(object arg1)
{
  using(SqlConnection conn = new SqlConnection(connStr)){
    try{
      SqlCommand cmd = new SqlCommand("storedProc1", conn);
      cmd.CommandType = CommandType.StoredProcedure;
      cmd.Parameters.AddWithValue("@input1", arg1);

      conn.Open();
      cmd.ExecuteNonQuery();
    } catch (Exception ex){
      //handle the exception appropriately.
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它似乎有很多重复的代码......每个函数都有相同的using/try(打开/执行)/ catch代码,而且只需要一个就可以了地点.这样做有干净的方法吗?对于我想要使用数据读取器的查询怎么样?

.net c# sqlconnection

0
推荐指数
1
解决办法
3106
查看次数

加快UPDATE操作

请帮我加快桌面上的UPDATE操作.表具有唯一ID,用于查找记录和UPDATE其字段.表中有1M条记录.没有使用索引.只有唯一的ID.插入需要一些时间..我预期毫秒.

表结构:

create table customers
(
    id int IDENTITY(1,1) UNIQUE NOT NULL,
    phonenum varchar(15) UNIQUE NOT NULL,
    date datetime,
    company varchar(150),
    full_name varchar(150),
    address varchar(150),   
    street varchar(100),
    zip varchar(100),
    city varchar(100),
    info varchar(300),
    op_data varchar(150),
    op_date datetime,
    op_user_taken varchar(100),
    op_time_taken  datetime,
    op_status varchar(100),
    user_taken varchar(100),
    time_taken  datetime,
    status varchar(100),        
    );
Run Code Online (Sandbox Code Playgroud)

我正在使用SqlConnection System.Data.SqlClient.SqlConnection和ExecuteNonQuery方法来更新记录.

我的表需要重新设计还是ExecuteNonQuery这么慢?

编辑:更新命令:

"UPDATE customers SET user_taken=@param1, time_taken=@param2,
 date=@param3, company=@param4, full_name=@param55,
 address=@param6, street=@param8, zip=@param9,
 city=@param10, info=@param11 , status=\'Completed\',
op_data=@param12 WHERE id=@param7";
Run Code Online (Sandbox Code Playgroud)

c# database sql-server sqlconnection executenonquery

0
推荐指数
1
解决办法
231
查看次数

更正SqlConnection声明

问题是我使用了我SqlConnection作为公共静态连接,认为这可能是导致错误时间的问题:

*连接未打开或连接已打开

那么SqlConnection在静态类中使用一个语句是否可以?

所以我只能宣告它一次,我知道我可以使用connectionStringweb.config

ConfigurationManager.ConnectionStrings["conn"].ConnectionString ...
Run Code Online (Sandbox Code Playgroud)

但我喜欢它与web.config设置或服务器名称无关.

  • ReEdit:

因为它确实是同一个类中的两个方法,也是该主类中的另一个类,但这不是重要的,而是对所有执行使用相同的连接!所以你说即使我用我的帮助者类的正确代码编辑,这是错的?

public static class myDBhelper
{
 public static SqlConnection Conn = new SqlConnection ("server=(local);Initial Catalog=dbName;Integrated Security=True");

        public static int ExecSQLint(string TblintSQL)
        {
            int anIntValue=0;
            SqlCommand TblintCMD = new SqlCommand(TblintSQL, Conn);
            try
            {
                Conn.Open();
                anIntValue = Convert.ToInt32(TblintCMD.ExecuteScalar());
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                throw new Exception("No Can Do: " + ex.Message);
            }
            finally
            {
                Conn.Close();
            }
          return anIntValue;
        }



        public static string ExecSQLstring(string …
Run Code Online (Sandbox Code Playgroud)

c# sqlconnection sql-server-2008

0
推荐指数
1
解决办法
4万
查看次数

从类到SqlCommand的SqlConnection

您好我在运行SqlConnection的类中有这个代码:

using System.Data.SqlClient;
using System.IO;

namespace tours
{
    class myConnection
    {
        public static SqlConnection GetConnection()
        {
                string path = "C:\\Users\\marek\\Documents\\Visual Studio 2012\\Projects\\tours\\tours\\sql_string.txt";
                StreamReader sr = new StreamReader(File.Open(path, FileMode.Open));

                string str = "Data Source='" + sr.ReadLine() + "';Initial Catalog ='" + sr.ReadLine() + "' ;User ='" + sr.ReadLine() + "';Password = '" + sr.ReadLine() + "'";

                SqlConnection spojeni = new SqlConnection(str);
                spojeni.Open();
                return spojeni;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在其他形式我得到SqlCommandSqlDataAdapter我需要添加到他们SqlConnection,但不知道我怎么能访问它们?你能告诉我什么吗?例如:

DataTable dt = new DataTable();
SqlDataAdapter SDA …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server sqlcommand sqlconnection

0
推荐指数
1
解决办法
1080
查看次数

非静态字段,方法或属性(变量声明)需要对象引用

我试图在我的查询中添加一个参数,并在这样做时它给了我上面的错误.我有变量public我声明在外面或我的方法.我尝试将其设置为静态,因为我已阅读其他帖子但它然后它给了我其他所引用的错误.方法我在公共静态列表方法中工作.

采取的步骤:尝试在我的方法中声明变量t将变量传递给.在线研究测试在线研究.

这是我声明的变量:

public int CarrierID { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是我的方法,我试图添加参数,它在CarrierID cmd.Parameters.AddWithValue("CarrierID",CarrierID)给我错误的位置; :

SqlConnection dbConn = new 
   SqlConnection(ConfigurationManager.ConnectionStrings
   ["Connection"].ConnectionString);

   SqlCommand cmd = new SqlCommand();
   cmd.CommandText = sqlString.ToString();
   cmd.Parameters.AddWithValue("CarrierID", CarrierID);

   SqlDataReader reader = null;

   try
   {
      reader = DBHelper.executeQuery(dbConn, sqlString.ToString(), null);
      if (reader != null)
      {
          while (reader.Read())
          {
              EmpData ed = new EmpData();
              ed.CarrierID = (int)reader["CarrierID"];
              list.Add(ed);
           }
Run Code Online (Sandbox Code Playgroud)

empData类:

class EmpData
{
    public int EmployeeID { get; set; }
    public string FName { get; set; }
    public string …
Run Code Online (Sandbox Code Playgroud)

c# variables sqlconnection

0
推荐指数
1
解决办法
1589
查看次数

我们是否需要在使用中定义open db whendb?

当我用于连接时,我知道没有必要使用close或dispose.我想知道,我们需要使用开放吗?

using (var dbSqlConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString1"]))
{             
       dbSqlConnection.Open();  // is this required?
}
Run Code Online (Sandbox Code Playgroud)

c# sql-server sqlconnection

0
推荐指数
1
解决办法
70
查看次数

用户代码未解析Sql excxeption,','附近的语法不正确

我真的不知道我的Insert语句有什么问题,它包含了未处理的用户代码.与其他在线教程相比,我在cmd上的插入看起来很好.

public void retrieveData()
{
    SqlConnection(ConfigurationManager.ConnectionStrings[sqlconnectiostring].ToString())
    SqlConnection conn = new SqlConnection();

    try
    {
        using (conn = new SqlConnection(sqlconnectiostring))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("INSERT INTO FRUITSPRODUCT(@PRODUCTNAME,@PRODUCTTYPE,@Total) VALUES (@PRODUCTNAME,@PRODUCTTYPE,@Total)",conn);
            cmd.Parameters.AddWithValue("@PRODUCTNAME","atlegang");
            cmd.Parameters.AddWithValue("@PRODUCTTYPE","baby");
            cmd.Parameters.AddWithValue("@Total","10");
            cmd.ExecuteNonQuery();
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        if (conn != null)
        {
            conn.Close();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# sqlcommand sqlconnection

0
推荐指数
1
解决办法
102
查看次数

在C#中将集合插入SQL Server表

尝试将一个集合插入到SQL Server 2014中的表中.这是我执行的代码而没有错误但是当我检查我的表时 - 没有添加任何内容.我的集合对象orders不是空的,我可以看到它在调试时有3个成员.

 IEnumerable<CompleteOrderDetails> orders;
 JoinDetails(doc, ns, xmlFragment1, out orders);

 string connectionstring = null;
 SqlConnection conn;
 connectionstring = "Data Source = DANNY; Initial Catalog = Alliance; Integrated Security = SSPI";

 using (conn = new SqlConnection(connectionstring))
 {
    string customerInsert = "INSERT INTO AmazonCustomer (AddressLine1, AddressLine2, AddressLine3, City, StateOrRegion, AmazonOrderId, PostalCode, Title, ItemPrice, ShippingPrice, Quantity) " + 
                            "VALUES (@AddressLine1, @AddressLine2, @AddressLine3, @City, @StateOrRegion, @AmazonOrderId, @PostalCode, @Title, @ItemPrice, @ShippingPrice, @Quantity)";

    using (SqlCommand query = new SqlCommand(customerInsert))
    {
        query.Connection = …
Run Code Online (Sandbox Code Playgroud)

c# sql-server sqlconnection sql-insert

0
推荐指数
1
解决办法
1216
查看次数

SqlConnection open()期间出现"Exception Unhadled"错误

在我的程序中,我有两个文本输入字段(在窗体中)和一个按钮,用于将这些值添加/保存到数据库表中.问题是,一旦我点击按钮,它就不会将输入插入数据库,而是显示我在下面作为图像附加的错误.

我的计划有什么问题?

我的工作代码:

public partial class Form1 : Form
{
    //original Connection string is exactly the following:
    //Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C:\Users\Sanad Al Nahaj\Documents\thesaurus.mdf";Integrated Security=True;Connect Timeout=30
    SqlConnection conn = new SqlConnection(@"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename=C:\Users\Sanad Al Nahaj\Documents\thesaurus.mdf;Integrated Security = True; Connect Timeout = 30");
    public Form1()
    {
        InitializeComponent();
    }

    //Save button
    private void button1_Click(object sender, EventArgs e)
    {
        conn.Open();//error pops up here after clicking the button
        SqlCommand command = conn.CreateCommand();
        command.CommandType = CommandType.Text;
        command.CommandText = "insert into Table values('"+wordbox.Text+"','"+synonymbox.Text+"')";
        command.ExecuteNonQuery();
        conn.Close();
        MessageBox.Show("Word and …
Run Code Online (Sandbox Code Playgroud)

c# sql sqlconnection visual-studio

0
推荐指数
1
解决办法
81
查看次数

SQL连接C#登录失败

我无法通过 C# 连接到我的数据库,这让我抓狂。

我知道我的凭据很好,因为我可以使用它们打开 SQLServerMangement 并查询数据库。

我总是登录失败!!

我正在尝试使用大量不同的连接字符串,但没有任何效果。

--> System.Data.SqlClient.SqlException (0x80131904): 用户登录失败

        var connectionStrings = new List<string>();

        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain/myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain\\myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain\\\\myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain//myuser;Password=mypassword");
        connectionStrings.Add("Data Source=myserver;Initial Catalog=mycatalog;User ID=mydomain\\myuser;Password=mypassword");


        foreach (var con in connectionStrings)
        {
            SqlConnection cnn ;
            cnn = new SqlConnection(con);
            try
            {
                cnn.Open();
                Console.WriteLine("Connection Open !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ");
                cnn.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Can not open connection ! ");
                //Console.WriteLine(ex.ToString());
            }

        }
Run Code Online (Sandbox Code Playgroud)

c# sql-server sqlconnection

0
推荐指数
1
解决办法
820
查看次数