以下哪种方法更适合关闭SqlDataReader:
SqlDataReader reader = comm.ExecuteReader();
while (reader.Read())
{
}
reader.Close();
reader.Dispose();
Run Code Online (Sandbox Code Playgroud)
要么
SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
}
Run Code Online (Sandbox Code Playgroud)
或者还有另一种关闭方法?
这就是我在想的......
Dim myCommand as SqlCommand
Dim myTable as New xsdObject.ObjectDataTable
myCommand = DataAccess.GetSQLCommand( "MyStoredProc", _
CommandType.StoredProcedure, SourceServer.ConnectionLocal)
myCommand.Connection.ChangeDatabase("MyDatabase")
myCommand.Parameters.AddWithValue("@Parameter", DataValue)
ExecuteSQLCommand(myCommand, myTable)
'How to access my data ?
Run Code Online (Sandbox Code Playgroud) 我有一个使用以下方法的WebService:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public string Login(string passwort, string email, string firma)
{
return LoginHelper.Login(passwort, email, firma);
}
Run Code Online (Sandbox Code Playgroud)
我的LoginHelper代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
namespace WebService1
{
public class LoginHelper
{
public static string Login(string passwort, string email, string firma)
{
string userName = "";
SqlConnection con = new SqlConnection(@"Data Source=Yeah-PC\SQLEXPRESS;Initial Catalog=works;Integrated Security=true;");
SqlCommand cmd = new SqlCommand(@"SELECT firma FROM TestData
WHERE email = @email", con);
cmd.Parameters.AddWithValue("@email", email);
con.Open();
SqlDataReader dr = …Run Code Online (Sandbox Code Playgroud) 我有以下vb.net函数,它在sql命令文本中有一个语法错误,我似乎无法弄清楚
Private Sub addsupporderidsinbookedtoinprocess()
Try
Dim cnn3 As New SqlConnection(connetionString)
Dim sqlcmd3 As New SqlCommand("SELECT supporderidinprocess FROM ordersinprocess", cnn3)
sqlcmd3.CommandText = "INSERT INTO ordersinprocess(supporderidinprocess) VALUES(SELECT IDENT_CURRENT('[supporder]'))"
cnn3.Open()
sqlcmd3.ExecuteNonQuery()
sqlcmd3.Parameters.Clear()
cnn3.Close()
Catch ex As SqlException
MsgBox(ex.Message)
End Try
End Sub
Run Code Online (Sandbox Code Playgroud)
错误在这部分
...VALUES(SELECT IDENT_CURRENT('[supporder]'))
Run Code Online (Sandbox Code Playgroud)
任何想法如何解决这个问题?
您好我在运行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)
在其他形式我得到SqlCommand或SqlDataAdapter我需要添加到他们SqlConnection,但不知道我怎么能访问它们?你能告诉我什么吗?例如:
DataTable dt = new DataTable();
SqlDataAdapter SDA …Run Code Online (Sandbox Code Playgroud) 我正在尝试dd-MM-yyyy在c#中以格式插入日期.查询插入是
SqlCommand cmd_cust = new SqlCommand(@"insert into custdetail values ('" + txtInvoiceNo.Text + "','" + txtCustomerName.Text + "','" + txt_contact.Text + "', '" + txtAddress.Text + "', '" + txt_total_amt.Text + "', '" + dt_date.Value.ToString("dd-MM-yyyy") + "')", con_create);
con_create.Open();
cmd_cust.ExecuteNonQuery();
con_create.Close();
Run Code Online (Sandbox Code Playgroud)
我创建了一个列名为date的表具有datatype date.插入记录后,日期列字段中的值为yyyy-dd-MM格式.我希望这种dd-MM-yyyy格式.
我真的不知道我的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) 大家好我有这个代码
cmd = new SqlCommand();
cmd.Connection = baglanti;
cmd.CommandText = "(musteriadi,musterisoyadi,gsm,email,sirketadi,Adres,Notlar) VALUES('" + txtMusteriAdi.Text.Trim() + "','" + txtMusteriSoyadi.Text.Trim() + "','" + txtGsm.Text.Trim() + "','" +txtEmail.Text.Trim() + "','" +txtSirketAdi.Text.Trim() + "','" +txtAdres.Text.Trim() + "','" +txtNotlar.Text.Trim() +"');";
baglanti.Open();
cmd.ExecuteNonQuery();
baglanti.Close();
Run Code Online (Sandbox Code Playgroud)
我将cmd定义为a,public SqlCommmand并且在每次代码到达时cmd.ExecuteNonQuery()它都会抓住我能做什么.
我有这些陈述:
SqlCommand sqlcmd = new SqlCommand("some query", "some db connection");
sqlcmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
执行此查询时,如何从数据库中获取消息?
例如,如果2行受到影响,我想要SQL Server消息说:
1 row(s) affected
1 row(s) affected
Run Code Online (Sandbox Code Playgroud)
在C#代码中.或者,例如,如果与主键发生冲突,我的意思是我试图插入存在主键的行,我希望收到数据库错误消息,其中显示:"主键重复".
当我使用SqlCommand.ExecuteNonQuery()它并且它CommandText有GO(提交)它时,我得到一个SQLException.
我删除它,SQL工作,但整个SQL有很多语句,我想在每个语句运行后提交.而且我不想将它们分成多个SqlCommand对象.
有没有更好的解决方案来保持提交和保持一个独特的SqlCommand对象?
sqlcommand ×10
c# ×8
sql ×5
sql-server ×3
vb.net ×2
.net ×1
asp.net ×1
commit ×1
dao ×1
database ×1