我目前正在制作一个简单的项目,显示一个人的列表,并基本上表明他们是在办公室,还是在外面.人们还可以编辑列表以指示他们是在办公室还是在办公室,并更新一条消息,说明他们什么时候回来.
我的问题是,当我更新列表时,我收到一条错误,指出我的Update语句中存在语法错误,但我找不到它.我正在使用visual studio 2012,在VB.NET中开发,并使用通过OleDB连接访问的访问数据库.
这是有问题的VB代码
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If InOutComboBox.SelectedItem = "IN" Then
MessageTextBox.Text = ""
End If
con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\People.mdb")
con.Open()
If ListView1.SelectedIndices.Count > 0 Then
Dim comStr As String = "UPDATE tblStaffNames SET OutIn = '" & InOutComboBox.SelectedItem & "', Note = '" & MessageTextBox.Text & "' WHERE recid = " & ListView1.SelectedItems(0).SubItems(0).Text
cmd = New OleDbCommand(comStr, con)
Try
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message & " - " …Run Code Online (Sandbox Code Playgroud) 使用 IBMDA400 OleDb 提供程序对 AS400 运行 SELECT 似乎将日期作为字符串值返回,当您尝试将日期格式应用于字段时,SSRS 只是嘲笑您。我在 SELECT 中尝试了一个简单的 CAST 无济于事。
如何从 iSeries OleDb 提供程序获取实际的 DBTYPE_DBDATE 结构?
我应该提到,有问题的日期都是由 DATE 类型的 UDF 返回的。IBM 似乎将 DATE 类型映射到 DBTYPE_STR OleDb 类型。
我的代码中有什么问题?
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\extract step one\extract1.accdb;Persist Security Info=True";
String kerdes = Convert.ToString(textBox1.Text);
String valaszok = Convert.ToString(textBox2.Text);
OleDbCommand cmd = new OleDbCommand("INSERT into extract (kerdes, valaszok) Values(@kerdes, @valaszok)");
cmd.Connection = conn;
conn.Open();
if (conn.State == ConnectionState.Open)
{
cmd.Parameters.Add("@kerdes", OleDbType.VarChar).Value = kerdes;
cmd.Parameters.Add("@valaszok", OleDbType.VarChar).Value = valaszok;
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Data Added");
conn.Close();
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Source);
conn.Close();
}
}
else
{
MessageBox.Show("Connection Failed");
}
}
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时,它说:
Microsoft …
将生日数据添加到Access数据库时遇到麻烦。我已经尝试过运行代码而不会妨碍“生日”,然后它就可以工作了。根据我的研究,“ DBDate”还考虑了毫秒,因此我尝试将来自文本字段的输入保存为DateTime格式,但是,那也行不通。
这是我正在使用的代码。
public partial class Records : System.Web.UI.Page
{
OleDbConnection con;
OleDbCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
// Trace.Warn("2310", "Beginning of life Page_Load");
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString=@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=E:\Dropbox\Temporary\OOD Assignment\Employee Directory\AppData\Employee.accdb";
String empName;
String ebirth;
String job;
String location;
String pnumber;
String email;
OleDbCommand cmd = new OleDbCommand("INSERT into EmployeeRecords ([ename],[job],[location],[phonenumber],[email],[birth])Values(@empName,@job,@location,@pnumber,@email,@ebirth)");
cmd.Connection = conn;
conn.Open();
if(conn.State == ConnectionState.Open)
{
cmd.Parameters.Add("@empName", OleDbType.VarChar).Value = tbEName.Text;
cmd.Parameters.Add("@ebirth", OleDbType.DBDate).Value = …Run Code Online (Sandbox Code Playgroud) 这是我发布的老问题:
使用 C# 读取一个 Excel 并更新其他一些 Excel
按照建议,我创建了 schema.ini 文件。我的 Excel 文件有很多包含混合数据的列(其中许多不是固定的)。甚至单元格也包含数字和文本。我观察到,当我使用 OLEDB 读取 excel 并将其填充到数据表中时,并非所有值都会显示。
我不能假设所有列都放入 .ini 文件中。我的 Excel 中的列将上升为“DX”。我观察到,仅显示具有数字+文本值的第一行,但未显示出现在下方某处的类似文本。它显示为空白。
这是连接字符串:
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;数据源='" + FilePath+ "';扩展属性=\"Excel 12.0;HDR=YES;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text\"" ;
有什么解决方案可以读取所有类型的数据吗?
自从我不得不尝试使用 Microsoft Text ODBC Driver 或 Microsoft Jet OLE DB 4.0 Provider 读取文件以来,已经有很多年了。
所以我有以下代码
public void Example()
{
string CVS = Application.StartupPath;
string SQL = "SELECT * FROM [MyFile.txt]";
string Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+CVS+";"+"Extended Properties='text;HDR=Yes;FMT=Fixed;";
OleDbDataAdapter OLE = new OleDbDataAdapter(SQL,Connection);
DataTable Table = new DataTable();
OLE.Fill(Table);
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我收到“意外错误”,我知道我错过了一些东西,但我不确定到底是什么。
资料来源:
http://www.connectionstrings.com/textfile
http://www.connectionstrings.com/Providers/net-framework-data-provider-for-ole-db
http://www.aspdotnetcodes.com/Importing_CSV_Database_Schema.ini。 ASPX
任何方向将不胜感激。
让我们假设 Schema.ini 文件是正确的。
UserID UserName Password
1 abc 123
10 xyz 456
3 mno 254
SELECT MAX(UserId) AS UserId FROM UserLogin
Run Code Online (Sandbox Code Playgroud)
当我运行此查询时,它给了我3而不是10
所有列都是TEXT数据类型
你能帮我解决这个问题吗?我的代码似乎很好,但没有返回值ExecuteNonQuery.看下面的代码:
private void btnAdd_Click(object sender, EventArgs e)
{
OleDbConnection conn;
conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbsCOLLABERA.accdb;Persist Security Info=False;");
string sqlAdd = "insert into tblEmployeeList(empID,empLName,empFName,empMName,empGender,empBDate,empAddress,empEAddress,empPNumber,empPosition,empStatus,empHRate,empOTRate,empTimeIn,empTimeOut) values ('"
+ txtID.Text + "','" + txtLName.Text + "','" + txtFName.Text + "','" + txtMName.Text + "','" + txtGender.SelectedValue + "','" + txtBDate.Text + "','" + txtAddress.Text + "','" + txtEAddress.Text + "','" + txtPNumber.Text + "','" + txtPosition.Text + "','"
+ txtStatus.SelectedValue + "'," + txtHRate.Text + "," + txtOTRate.Text + ",'" + …Run Code Online (Sandbox Code Playgroud) 亲爱的所有程序员,
这是vb.net中oledb中最好且快速的参数命令,请用下面的选项代码解释详细信息,因为我想在access数据库中使用CRUD应用程序,这样我在应用代码时就不会出错
谢谢
cmd.Parameters.Add(New OleDbParameter("Item1", TextBox1.Text))
Run Code Online (Sandbox Code Playgroud)
cmd.Parameters.AddWithValue("Item1", TextBox1.Text)
Run Code Online (Sandbox Code Playgroud)
cmd.Parameters.Add("Item1", OleDbType.VarChar).Value = TextBox1.Text
Run Code Online (Sandbox Code Playgroud) 我有一个简单的存储过程,需要6个参数.让我们说它们是,@a, @b, @c, @d, @e, @f并且它们都是可选的,默认值为null.
我需要知道如何仅使用其中一些参数调用存储过程.我知道一般步骤:
定义连接并打开它.
定义命令对象
将参数添加到命令对象.
执行命令.
现在@a, @b, @c, @d, @e, @f我每个人都Parameters.Add()用来添加那个参数.
问题是:如果我想要什么调用存储过程只用@a和@f,我需要Add()其他的参数也?或者,如果我只添加2个参数,存储过程将如何知道我提供的参数?
oledb ×10
c# ×6
sql ×4
vb.net ×3
.net ×1
asp.net ×1
c#-4.0 ×1
database ×1
date ×1
excel ×1
ibm-midrange ×1
ms-access ×1
oledbcommand ×1
sql-server ×1
winforms ×1