使用C#将数据输入和输出SQL表
我构建了一个C#应用程序,将数据放入SQL表中.
我目前在.net中使用SqlConnection类.从这篇文章开始. http://www.codeproject.com/KB/database/sql_in_csharp.aspx
我曾经考虑过将Linq转换为SQL,但之前没有这样做过,也不确定如何起床.
那么今天我遇到了一个错误,我试图在其中添加包含"'"的数据,这打破了我的插入语句.我做了一些研究,开始想知道潜伏着什么其他问题.如果我尝试添加数据"drop table"怎么办?
我的问题是,是否有更好的数据插入模型?我看看Linq?或者在输入之前检查我的所有数据?
我在Visual Basic中编码.我正在使用复选框控件.现在,根据其检查的属性,我需要在SQL Server数据库中设置/取消设置一个位列.这是代码:
Try
conSQL.Open()
Dim cmd As New SqlCommand("update Student set send_mail = " + _
sendemailCheckBox.Checked.ToString + " where student_id = '" _
+ sidnolabel.Text + "'", conSQL)
cmd.ExecuteNonQuery()
Finally
conSQL.Close()
End Try
Run Code Online (Sandbox Code Playgroud)
该send_mail属性是位数据类型.此代码无效.我该怎么办呢?
我有一个非常简单的查询有点问题,当我硬编码查询中的值时它的工作,但当我使用PHP变量没有任何东西被检索,我检查了很多东西,包括查询,数据库值得说我通过POST从表单中获取变量,并检查我是否正在获取它们但是当我在查询中使用它们时它们不能正常工作:S
这是我的代码..PLZ我做错了什么?!!!!!!!!!!!
<?php
$email = $_POST ['emailEnter'] ;
$password = $_POST ['passwordEnter'];
$connection = mysql_connect('localhost','root','') ;
$db_selected = mysql_select_db("lab5" , $connection) ;
$query = 'select * From user where email="$email" and password="$password" ' ;
$result = mysql_query ($query , $connection);
while($row=mysql_fetch_array($result))
{
echo $row['name'];
}
mysql_close($connection);
?>
Run Code Online (Sandbox Code Playgroud) 我是php和mysql的新手,所以我需要一些查询帮助.这是我的SQL查询
SELECT * FROM table1 WHERE (Name LIKE '%$keyword%' OR ZipCode LIKE '%$keyword%') AND Category LIKE '$category' AND Country LIKE '$country' LIMIT $start, $limit
Run Code Online (Sandbox Code Playgroud)
现在我想做的事情就是
换句话说,如果选择了关键字,国家或类别中的任何一个,则搜索应相应地显示结果.此外,如果输入所有字段,它也应该工作.我设法做了一半,但有时它给了我错误的结果.请帮忙.
我正在使用.NET Web Forms和.mdb数据库作为数据源构建一个简单的站点.
问题是:我有一个工作后台槽,我可以创建,修改和删除新页面.
虽然我可以创建和删除,但编辑功能不起作用.
我意识到问题可能出在查询中,因为代码对其他功能工作正常.
这是查询:
UPDATE pages
SET title=\"" + pa.title + "\" content =\"" + pa.content + "\"
WHERE id=" + pa.id
Run Code Online (Sandbox Code Playgroud)
我不是很喜欢SQL,我做错了什么?
先感谢您
编辑N°2.目前,查询工作不正常,基本上,一些内容和标题中包含撇号,当我更新该特定页面时,它不会更新.我尝试使用Regex.Escape,但它创造了一个混乱添加吨\.
private void button1_Click(object sender, EventArgs e)
{
// Início da Conexão com indicação de qual o servidor, nome de base de dados e utilizar
/* É aconselhável criar um utilizador com password. Para acrescentar a password é somente
necessário acrescentar o seguinte código a seguir ao uid=root;password=xxxxx*/
mConn = new MySqlConnection("Persist Security Info=False; server=localhost;database=FichasReparacao;uid=root");
// Abre a conexão
mConn.Open();
//Query SQL
MySqlCommand command = new MySqlCommand("INSERT INTO Cliente (nome, email, telefone, blacklist)" +
"VALUES('" + nome_cli.Text + "','" + email_cli.Text …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的问题.我使用vs2012连接到SQL Server CE并执行一些插入查询.
public void EstablishConnection()
{
connection = new SqlCeConnection("Data Source=DataDump.sdf;Persist Security Info=False;");
try
{
connection.Open();
Console.WriteLine("Connection Successful");
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
}
}
public void AddRecord(string link,string content)
{
int num = 0;
var command = new SqlCeCommand("INSERT INTO Webpages(Link,Data) VALUES('"+link+"','"+content+"');",connection);
num = command.ExecuteNonQuery();
Console.WriteLine("Command Successful rows affected"+num);
var cmd2 = new SqlCeCommand("SELECT * FROM Webpages",connection);
SqlCeDataReader reader = cmd2.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader[0]);
Console.WriteLine(reader[1]);
}
}
Run Code Online (Sandbox Code Playgroud)
但是我遇到的问题是,一旦VS关闭,之后我打开它来显示数据,数据就会消失,因为它从未保存过
当它清楚然后执行查询时,这怎么可能?
我有一个问题;
<cfquery datasource="forms" name="departments">
select * from quizes.tb_depts
</cfquery>
Run Code Online (Sandbox Code Playgroud)
这将返回结果集.我想访问一个特定的结果集,其中此行的ID(主键)是我输入的内容.
示例部门[13]应该在ID = 13的结果集中得到结果.
有没有内置的方法来做到这一点?我看到departments.id [rownumber]这不是我想要的.
谢谢
我有一个用户可以登录的登录页面。当他们使用正确的详细信息登录时,他们会被发送到主管理页面。如果他们无法登录,他们将停留在登录页面。我想要做的是,如果随机用户在未登录时输入管理页面的 URL,则会重定向到登录页面。
\n\n我已经明白我必须在母版页或 webconfig 中执行此操作!?!我有一个主管理页面和一些其他管理页面。
\n\n有小费吗?
\n\n我尝试将其插入到我的 webconfig 中:
\n\n<authentication mode="Forms">\n <forms loginUrl="InnUtlogging.aspx" timeout="2880"/>\n </authentication>\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的“登录”按钮代码(在登录页面上);
\n\nprotected void Button1_Click(object sender, EventArgs e)\n {\n SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True");\n con.Open();\n SqlCommand cmd = new SqlCommand("select * FROM Ansatt WHERE epost=\'" + brukernavn.Text + "\' and passord=\'" + passord.Text + "\'");\n cmd.Connection = con;\n int OBJ = Convert.ToInt32(cmd.ExecuteScalar());\n\n if (OBJ > 0)\n\n {\n Session["name"] = brukernavn.Text;\n Response.Redirect("KunstnerAdmin.aspx");\n }\n else\n {\n melding.Text = "Feil brukernavn/passord";\n …Run Code Online (Sandbox Code Playgroud) 错误地标记为重复 - 请参阅下面的答案
基本设置 - 我有一个应用程序上下文和一个用作 DAO 的抽象:
某个实体:
public class SomeEntity
{
public string MyProp { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
数据库上下文:
public class ApplicationContext : DbContext
{
public DbSet<SomeEntity> SomeEntities { get; set; }
/* Rest of the DbContext doesn't matter. */
}
Run Code Online (Sandbox Code Playgroud)
道:
public class DAO
{
private readonly DbSet<SomeEntity> _dbSet;
public DAO(ApplicationContext context)
{
_dbSet = context.SomeEntities;
}
public IEnumerable<SomeEntity> Where(Func<SomeEntity, bool> predicate)
{
return _dbSet.Where(predicate);
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
Dao dao = new Dao(/* whatever for instantiation …Run Code Online (Sandbox Code Playgroud)